Javascript AngularJS工厂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;

我试图为超级容器对象创建一个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;
    }
   };
 }]);

我在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
。对于像我这样的初学者来说,这非常令人困惑。实际上,当你要使用“工厂”时,为什么要说“服务”?@ochiforate
factory
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;
    }
 });