Javascript AngularJS工厂getter和setter对象
我试图为超级容器对象创建一个getter和setter,但它似乎不起作用Javascript AngularJS工厂getter和setter对象,javascript,angularjs,Javascript,Angularjs,我试图为超级容器对象创建一个getter和setter,但它似乎不起作用 PrometeiaECAProModuleMain.factory('ParameterFactory', [function () { var Supercontainer = function (userId, supercontainerId, bankId) { this.userId = userId; this.supercontainerId = supercontainerid;
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;
}
};
}]);
我在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');
因此,我可以将所有数据从一个控制器传递到另一个控制器,并使其在任何地方都可用。可以使用
ParameterFactory.getSupercontainer()访问函数代码>
问题是低质量:错误是什么?你想实现什么?这将在超级容器Id上抛出一个引用错误。Id中的大小写输入错误。已将其设置为小写:)当人们使用术语“服务”时,我似乎越感到困惑,然后他们继续执行.factory
。对于像我这样的初学者来说,这非常令人困惑。实际上,当你要使用“工厂”时,为什么要说“服务”?@ochiforatefactory
和service
几乎是一回事。只需将其视为具有不同名称的相同函数即可。CommonService.setData('Dataname',{name:bla,price:25});下面介绍如何设置$scope变量。比如,CommonService.setData('Dataname',{$scope.name:bla,$scope.price:25});
PrometeiaECAProModuleMain.service('ParameterFactory', function () {
var data = {};
this.setSupercontainer = function (userId, supercontainerId, bankId) {
data = {
'userId': userId,
'supercontainerId': supercontainerId,
'bankId': bankId
};
}
this.getSupercontainer = function () {
return data;
}
});