角度工厂没有设置

时间:2015-04-27 16:36:59

标签: javascript angularjs

如您所见(下图)我有一家工厂供应商,我将其注入另一家工厂。在那里,我尝试在infoPMIDs上设置其中一个值。这不起作用。不知何故,当我在控制器中调用infoPMIDs时,它仍然具有值a = '', b = '', c = ''

summariesApp.factory('infoPMIDs', [function () {
    var a = '', b = '',
        c = '';
    return {
        a: a,
        b: b,
        c: c
    }
}]);

summariesApp.factory('getPMIDs', ['infoPMIDs', function (infoPMIDs) {
    return function (Tab, other, drug) {
        var value = ['value1', 'value2'];
        infoPMIDs.genePhenotype = value;
    }    
}]);

提前致谢。

1 个答案:

答案 0 :(得分:2)

如果您想更新infoPMID中的a,b,c,那么您必须公开一些功能:

.factory('infoPMIDs', [function () {
    var a = '', b = '', c = '';
    return {
        a: a,
        b: b,
        c: c,
        setA: function(val){
            a = val;
        },
        setB: function(val){
            b = val;
        },
        setC: function(val){
            c = val;
        },
    }
}]);

或类似的东西