Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angularjs – 使用我的自定义提供程序获取错误“由于未知提供程序而无法实例化模块应用程序”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
尝试创建自定义提供程序并在应用程序配置期间使用它.在配置阶段获取错误“由于未知提供程序’configRoutesProvider’而无法实例化模块应用程序’”.
提供者代码

(function () {
    'use Strict';

    angular.module('app-routIng',[])
        .provider('configRoutesProvider',function () {

            this.$get = ['$http',getRoutesProvider];

            function getRoutesProvider($http) {
                return {
                    getRoutes: function ($http) {
                        return $http.get('https://localhost:44311/api/account/routes').then(function (results) {
                            return results;
                        });
                    }
                };
            }
        });
}).call(this);

在app.js代码获取对’app-routIng’模块的引用:

(function () {
    'use Strict';
    var app = angular.module('app',[
                'ngRoute',// routIng
                'LocalStorageModule',// local storage

                'app-routIng'
            ]);


        app.run();
})();

在config.js中尝试引用提供程序时会出现上述错误

app.config(['$routeProvider','configRoutesProvider',routeConfigurator]);
    function routeConfigurator($routeProvider,configRoutesProvider) {
        var routes = configRoutesProvider.getRoutes();
        routes.forEach(function (r) {
            $routeProvider.when(r.href,{
                controller: r.controller,templateUrl: r.templateUrl
            });
        });
        $routeProvider.otherwise({ redirectTo: '/home' });

    }

在index.html中,脚本注册的顺序如下:

<script src="app/routesProvider.js"></script>
<!-- Load app main script -->
<script src="app/app.js"></script>
<script src="app/config.js"></script>

无法理解我想念的是什么?

解决方法

在角度上,提供者的名称上没有提供者部分,因此我们的想法是:

angular.module('foo').provider('configRoutes',function() { });

并不是:

angular.module('foo').provider('configRoutesProvider',function() { });

但是当你将它注入配置时,你必须把它:

angular.module('foo').config(function(configRoutesProvider) { });

因此,在您的示例中,删除定义中的提供程序部分.

大佬总结

以上是大佬教程为你收集整理的angularjs – 使用我的自定义提供程序获取错误“由于未知提供程序而无法实例化模块应用程序”全部内容,希望文章能够帮你解决angularjs – 使用我的自定义提供程序获取错误“由于未知提供程序而无法实例化模块应用程序”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。