我需要一些幫助。我正在學習Angularjs並試圖創建一項服務。目前我正在嘗試將模塊中的所有內容分開。當我創建一個名爲(bac.route-manager)的新模塊並嘗試將其作爲RouterService注入到應用程序配置中時,我收到一個錯誤,我不明白其含義或如何解決該錯誤。除了當我嘗試添加此模塊時,我所有其他的東西似乎都可以工作,但只有在嘗試注入後,此未知提供者纔會開始顯示。請任何幫助表示讚賞。angularjs未被捕獲的錯誤:未知的提供者:
我的錯誤
Uncaught Error: Unknown provider: RouterService from bac
我app.js文件
angular.module('bac', [
'bac.route-manager'
])
.config(function bacAppConfig($routeProvider, RouterService) {
//I dont knwo if i can do this but right now it doesnt matter because of error
console.log(RouterService.getRoutes());
});
我的路由manager.js文件
angular.module('bac.route-manager', [])
.service('RouterService', function() {
this.getRoutes = function() {
return {
"/login": {
templateUrl: 'app/modules/login-manager/partials/login.tpl.html',
requiredLogin: false
},
"/dashboard": {
templateUrl: 'app/modules/dashboard-manager/partials/dashboard.tpl.html',
controller: 'DashboardController',
requiredLogin: true
}
};
};
});
我使用grunt生成js包括在我的html文件中,但這裏是爲了簡潔而刪除了大量內容。
我的index.html
<html lang="en" class="no-js" ng-app="bac">
<body>
<ng-view></ng-view>
<script type="text/javascript" src="vendor/angular/angular.js"></script>
<script type="text/javascript" src="app/app.js"></script>
<script type="text/javascript" src="app/modules/dashboard-manager/dashboard-manager.js"></script>
<script type="text/javascript" src="app/modules/route-manager/route-manager.js"></script>
</body>
</html>
嘗試在'app.js'前加載'route-manager.js' – AlwaysALearner
我剛試過。我用grunt生成了index.html文件,然後進入並手動將route-manager.js文件移至除app.js文件之外的所有文件之上。同樣的錯誤。未捕獲的錯誤:未知的提供者:來自bac的RouterService – lumberjacked
@Codezilla配置和運行階段被推遲到整個文檔被加載。它們出現的順序在這種情況下是無關緊要的。 –