我遇到了与AngularJS相关的问题。我们有一个主应用程序,我们称之为
angular.module('main');
此应用程序将其他模块作为依赖项导入:
angular.module('submodule1');
angular.module('submodule2');
在其中一个模块中,我定义了一个常量:
angular.module('submodule1').constant('CONST', 'foo');
之后,我在模块中使用该常量。 现在,我的问题如下:如果两个子模块作为依赖项注入模块' main',则常量' CONST'也可以注入'子模块2'这可能会导致很多问题,特别是如果子模块2'还声明了一个名为CONST的常量,其值不同。
所以问题是......我怎样才能做出' CONST'私有的仅用于子模块1' ?
答案 0 :(得分:2)
因为常量是app的全局,所以你需要有不同的名字......
如果你想要相同的名字,这可能是一个解决方案:
angular.module('submodule1')
.service('submodule1Constant',function(){
//private
var CONST = "foo";
this.get = function(){
return CONST;
};
})
.service('submodule2Constant',function(){
//private
var CONST = "foo";
this.get = function(){
return CONST;
};
});