我有一个模块配置功能,我想在几个模块中使用它。我这样帮助过我,但我想,在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")]);
}());
答案 0 :(得分:1)
您可以创建一个新模块进行配置。
你只能注入提供者和常量进行配置,而不是让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");
}]);
}());