我有一个模块配置函数,我想在几个模块中使用它。我是这样帮助我的,但我认为,在angular.js中可能有更好的方法吗?
(function() {
angular.module("myApp", ["moduleA", "moduleB"]);
angular.module("myApp").subModuleConfig = function(module) {
return function() {
console.log("Config Module " + module)
}
}
}());
(function() {
angular.module("moduleA", [])
.config([angular.module("myApp").subModuleConfig("A")]);
}());
(function() {
angular.module("moduleB", [])
.config([angular.module("myApp").subModuleConfig("B")]);
}());
下面是一个plunkr:http://plnkr.co/edit/4LzLPgnF87WCbL3LeCIR?p=preview
发布于 2014-10-29 03:14:54
您可以为配置创建一个新模块。
您只能将提供程序和常量注入到配置中,因此与其使subModuleConfig
成为工厂,不如将其设置为提供程序,并将this.$get
设置为您的配置函数(这可能更丑)。
使用工厂,您可以将多个不同的配置设置到同一个工厂中。
(function() {
angular.module("myApp", ["moduleA", "moduleB"]);
angular.module("configModule", []).factory("subModuleConfig", function() {
return function(module) {
console.log("Config Module " + module)
}
});
}());
(function() {
angular.module("moduleA", ["configModule"])
.config(["subModuleConfigProvider", function(subModuleConfigProvider) {
var subModuleConfig = subModuleConfigProvider.$get();
return subModuleConfig("A");
}]);
}());
(function() {
angular.module("moduleB", ["configModule"])
.config(["subModuleConfigProvider", function(subModuleConfigProvider) {
var subModuleConfig = subModuleConfigProvider.$get();
return subModuleConfig("B");
}]);
}());
https://stackoverflow.com/questions/26624314
复制