2015-09-18 61 views
0

由于某些原因,我想将masterapp.value('mastervalue','XYZ')传递给提供者。怎么做 ?下面的方法抛出错误。在Angular JS中,如何将价值传递给提供者?

var masterapp= angular.module('masterapp',[]); 

masterapp.value ('mastervalue' , 'XYZ'); 

masterapp.provider('masterprovider', ['mastervalue', function(mastervalue) { 

    this.myFn = function() { 
     return mastervalue; 
    }; 

}]); 

回答

1

如果你没有问题(不能改变),你需要使它保持不变。所以更新的代码将是:

var masterapp= angular.module('masterapp',[]); 

masterapp.constant('mastervalue' , 'XYZ'); 

masterapp.provider('masterprovider', ['mastervalue', function(mastervalue) { 

    this.myFn = function() { 
     return mastervalue; 
    }; 
}]); 
+0

http://ilikekillnerds.com/2014/11/constants-values-global-variables-in-angularjs-the-right-way/ – rajagopalx

+0

没有问题的,顺便说一句好文章 –

1

我不确定是否可以像.value那样返回.value。尝试在范围内首先分配它,然后使用该值创建函数。

this.masterValue = mastervalue; 
this.myFun = function(){ 
     return this.masterValue 
}