angularjs – 使用我的自定义提供程序获取错误“由于未知提供程
发布时间:2020-12-17 17:49:19 所属栏目:安全 来源:网络整理
导读:尝试创建自定义提供程序并在应用程序配置期间使用它.在配置阶段获取错误“由于未知提供程序’configRoutesProvider’而无法实例化模块应用程序’”. 提供者代码: (function () { 'use strict'; angular.module('app-routing',[]) .provider('configRoutesPr
尝试创建自定义提供程序并在应用程序配置期间使用它.在配置阶段获取错误“由于未知提供程序’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) { }); 因此,在您的示例中,删除定义中的提供程序部分. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |