gpt4 book ai didi

angularjs - 我的自定义提供程序出现错误 "Failed to instantiate module app due to unknown provider"

转载 作者:行者123 更新时间:2023-12-03 09:32:36 24 4
gpt4 key购买 nike

尝试创建自定义提供程序并在应用程序配置期间使用它。在配置阶段收到错误“由于未知提供程序'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 中,提供者没有 provider一部分在它的名字上,所以这个想法是:

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

并不是:
angular.module('foo').provider('configRoutesProvider', function() { });

但是当你将它注入(inject)配置时,你必须把它:
angular.module('foo').config(function(configRoutesProvider) { });

因此,在您的示例中,删除 provider定义的一部分。

关于angularjs - 我的自定义提供程序出现错误 "Failed to instantiate module app due to unknown provider",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25324617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com