2014-01-16 93 views
4

我剛剛開始學習角JS。 我爲路由做了一些測試代碼。 但似乎不工作AngularJS路由器配置不工作

demoApp.js

var demoApp = angular.module('demoApp',[]) 

demoApp.config(function($routeProvider){ 
    $routeProvider 
     .when('/view1', 
      { 
       controller:'SimpleController' 
       ,templateUrl : 'View1.html' 
      }) 
     .when('/view2', 
      { 
       controller:'SimpleController' 
       ,templateUrl : 'View2.html' 
      }) 
     .otherwise({redirectTo:'/view1'}); 

}); 

demoApp.controller('SimpleController',function($scope){ 
     $scope.customers = [ 
       {name:'Terry.Cho',city:'Seoul'}, 
       {name:'Cath',city:'Suwon'}, 
       {name:'Carry',city:'Suwon'} 
     ]; 
     alert('hello controller'); 
    }); 


alert("hello"); 

home.html的

<html ng-app="demoApp"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js"></script> 
    <script src="demoApp.js"></script> 
</head> 
<body> 
    <a href="#/view1">View1</a> 
    <a href="#/view2">View2</a> 

    <div> 
     <div ng-view></div> 
    </div> 
</body> 
</html> 

view1.html

<div class="container"> 
    <h2> View 1 </h2> 

view2.html

<div class="container"> 
    <h2> View 2 </h2> 

我是否在demoApp.config或控制器設置中丟失了某些內容? 我也得到了錯誤消息以JavaScript控制檯

未被捕獲的錯誤:[$注射器:modulerr] http://errors.angularjs.org/1.2.9/ $注射器/ modulerr P0 = demoApp & P1 =錯誤%3A ... ogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1?。 2.9%2Fangular.min.js%3A32%3A232)

+1

你引用'angular.route.min.js'因爲它轉移到自己的分離的文件。 – Ravi

回答

4

您缺少ngRoute模塊。你必須angular-route.js文件添加到您的腳本和加載模塊是這樣的:

angular.module('demoApp', ['ngRoute']); 
0

根據您的HTML你缺少一個參考ngRoute模塊到你的應用程序模塊。像下面

var demo = angular.module('demoapp',['ngRoute']); 
2

添加demo.js

var demoApp = angular.module('demoApp',['ngRoute']) 

和home.html的加入

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.9/angular-route.min.js