AngularJS自定义提供程序导致"未知提供程序"例外

时间:2016-06-15 12:33:14

标签: javascript angularjs

我在AngularJS中创建了一个自定义提供程序,它应该是一个应用程序全局配置。不幸的是,我无法注入此提供程序,因为AngularJS会抛出"未知的提供程序"例外。我完全不知道我的代码有什么问题。

app.js

dir 1>> files.txt 2>> err.txt

配置-provider.js

dir 1>> files.txt 2>>&1

config-provider.js 首先在我的脚本文件中加载,但更改顺序并不会改变行为 - 仍然是#34;未知提供商"。任何帮助将不胜感激。

3 个答案:

答案 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', [])