2015-04-16 72 views
2

我嘗試爲Supercontainer對象創建一個getter和setter,但似乎沒有工作。AngularJS工廠getter和setter對象

PrometeiaECAProModuleMain.factory('ParameterFactory', [function() { 


var Supercontainer = function (userId, supercontainerId, bankId) { 
    this.userId = userId; 
    this.supercontainerId = supercontainerid; 
    this.bankId = bankId; 
}; 



return { 

    setSupercontainerParam: function (userId, supercontainerid, bank) { 
     supercontainer = new Supercontainer(userId, supercontainerid, bank); 
    }, 

    getSupercontainerParam: function() { 
     return supercontainer; 
    } 
    }; 
}]); 
+1

問題質量低:什麼是錯誤?你想達到什麼目的? –

回答

9

我在service.js

.factory('CommonService', function ($http, $state, Ls, md5, $filter) { 
var headInfo = []; 
return { 
    setData: function (key, data) { 
     headInfo[key] = data; 
    }, 
    getData: function (key) { 
     return headInfo[key]; 
    } 
}); 

這樣使用它在控制器,你會設置烏爾數據是這樣

CommonService.setData('Dataname',{name:bla, price:25}); 
CommonService.getData('Dataname'); 

所以我可以從一個把我的所有數據控制器到另一個,並使其無處不在

+0

當人們使用術語'服務'時,我似乎越來越困惑,然後他們繼續做'.factory'。對於像我這樣的初學者來說,這非常令人困惑。你爲什麼說'服務'時,你會使用'工廠'? –

+0

@OchiFortune'factory'和'service'幾乎是一回事。只要將它看作具有不同名稱的相同功能即可。 – CENT1PEDE

0

服務示例。可以使用ParameterFactory.getSupercontainer();

PrometeiaECAProModuleMain.service('ParameterFactory', function() { 
    var data = {}; 

    this.setSupercontainer = function (userId, supercontainerId, bankId) { 
     data = { 
      'userId': userId, 
      'supercontainerId': supercontainerId, 
      'bankId': bankId 
     }; 
    } 

    this.getSupercontainer = function() { 
     return data; 
    } 
}); 
+1

這會在'supercontainerid'處引發一個參考錯誤。在Id中的 –

+0

案例錯字。已將其設置爲小寫:) –