正如您所看到的(如下),我有一个工厂提供程序,我将其注入(inject)到另一个工厂中。在那里,我尝试设置 infoPMIDs
上的值之一。这是行不通的。不知何故,当我在 Controller 中调用 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;
}
}]);
提前致谢。
最佳答案
如果您想更新 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;
},
}
}]);
或者类似的东西
关于javascript - Angular 工厂未设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29901372/