[英]AngularJS routeprovider injection error
我正在學習AngularJS,我現在正在嘗試$routeProvider
,但我無法讓它工作。
index.html
:
<!DOCTYPE html>
<html ng-app="App">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular-route.min.js"></script>
<script type="text/javascript" src="scripts/controllers.js"></script>
</head>
<body>
<div ng-view></div>
</body>
</html>
view.html
:
<p>Hello World!</p>
controllers.js
:
var app = angular.module('App', ['ngRoute']);
app.config(
function($routeProvider){
$routeProvider.when("/something",{
templateUrl: "view.html",
controller: "MyController"
})
.otherwhise({
redirectTo: "/"
});
}
);
function MyController($scope){
}
每當我運行它時,我會收到一條錯誤消息
Uncaught Error: [$injector:modulerr]
我怎么解決這個問題?
將.otherwhise
改為.otherwise
。
遇到這些問題時的一個好習慣是嘗試Angular的非縮小版本。
未縮小的錯誤更有幫助:
未捕獲的錯誤:[$ injector:modulerr]由於以下原因無法實例化模塊App:TypeError:Object#沒有方法'otherwhise'
解決方案:在路由配置上創建$ inject屬性,如下所示: -
var app = angular.module('App', ['ngRoute']);
(function (app) {
var routeConfig = function($routeProvider){
$routeProvider.when("/something",{
templateUrl: "view.html",
controller: "MyController"
})
.otherwhise({
redirectTo: "/"
});
};
routeConfig.$inject = ['$routeProvider'];
app.config(routeConfig);
})(angular.module("App"));
當js縮小時,AngularJS現在能夠成功注入$ routeProvider。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.