2015-08-03 57 views
0

我遇到了与AngularJS相关的问题。我们有一个主要的应用程序,让我们把它AngularJS - 使模块不断/服务/工厂私有

angular.module('main'); 

这个应用程序导入其他模块的依赖关系:

angular.module('submodule1'); 
angular.module('submodule2'); 

在这些模块中的一个我定义常量:

angular.module('submodule1').constant('CONST', 'foo'); 

之后,我在模块中使用这个常量。 现在,我的问题如下:如果两个子模块作为模块'main'中的依赖项注入,常量'CONST'也可以注入'submodule2'中。这可能会导致很多问题,特别是如果'submodule2'也用一个不同的值声明了一个名为CONST的常量。

所以问题是......我如何使'CONST'专用于'submodule1'专用?

回答

2

因为常量是全局的应用程序,你需要有不同的名字......

,如果你想同一个名字,这可能是一个解决办法:

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; 
    }; 
});