我在AngularJS中创建了一个自定义提供程序,它应该是一个应用程序全局配置。不幸的是,我无法注入此提供程序,因为AngularJS会抛出"未知的提供程序"例外。我完全不知道我的代码有什么问题。
dir 1>> files.txt 2>> err.txt
dir 1>> files.txt 2>>&1
config-provider.js 首先在我的脚本文件中加载,但更改顺序并不会改变行为 - 仍然是#34;未知提供商"。任何帮助将不胜感激。
答案 0 :(得分:5)
您应该声明没有'Provider'后缀的提供者:
module.provider('Config', ConfigProvider);
答案 1 :(得分:2)
您可以将ConfigProvider
更改为config
(function () {
'use strict';
angular.module('config')
.provider('config', config);
config.$inject = [];
function config() {
var config = [];
var provider = {
$get: $get,
setFoo: setFoo,
};
return provider;
function $get() {
return {
getConfig: function () {
return config;
}
};
}
function setFoo(foo) {
config['foo'] = foo;
}
}
})();
然后在u r app.js
中使用它(function () {
'use strict';
angular.module('app', [
'config'
])
.config(configuration);
configuration.$inject = ['configProvider'];
function configuration(configProvider) {
configProvider.setFoo(86400);
}
})();
请carefully
查看namings
。
答案 2 :(得分:0)
宣布config
模块时,您应该有一个空数组:请参阅here
angular.module('config', [])