2016-08-13 52 views
1

我得到在瀏覽器這個錯誤「

Error: [$injector:modulerr] http://errors.angularjs.org/1.5.8/ $injector>/modulerr?

我的腳本app.js

var sampleApp = angular.module('myApp',[]).config(function($routeProvider){ 
    $routeProvider. 
     when('/AddNewOrder',{ 
      templateUrl:'view/add_order.html', 
      controller:'addOrderController' 
    }). 
     when('/ShowOrders',{ 
      templateUrl:'view/show_order.html', 
      controller:'addOrderController' 
    }). 
      otherwise({redirectTo:'/AddNewOrder' 
    }); 
}); 


`SampleApp.controller('myCtrl',function($scope,$location){ 
     $scope.setRoute = function(route){ 
      $location.path(route); 
});` 

和HTML代碼是

<!DOCTYPE html> 
<html lang="en" data-ng-app="myApp"> 
    <head> 

    <title>AngularJS Routing example</title> 

    <link href="css/bootstrap.min.css" rel="stylesheet"> 

    <style> 
     body { 
      padding-top: 10px; 
      background-color: #F5F5F5; 
     } 
    </style> 

    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> 
    <!--[if lt IE 9]> 
     <script src="../../assets/js/html5shiv.js"></script> 
     <script src="../../assets/js/respond.min.js"></script> 
    <![endif]--> 
    </head> 

    <body data-ng-controller="myCtrl"> 

    <div class="container"> 
     <div class="row"> 
     <div class="col-md-3"> 
      <ul class="nav"> 
       <li><a data-ng-click="setRoute('AddNewOrder')"> Add New Order </a></li> 
       <li><a data-ng-click="setRoute('ShowOrders')"> Show Order </a></li> 
      </ul> 
     </div> 
     <div class="col-md-9"> 
      <div data-ng-view></div> 
     </div> 

     </div> 

    </div><!-- /.container --> 

    <script src="js/angular.min.js"></script> 
    <script type="text/javascript" src="js/route.min.js"></script> 
    <script src="app.js"></script> 

    </body> 
</html> 

不要爲什麼這個錯誤來了,需要你的建議來解決這個問題。

回答

2

更新

我看着你的堆棧跟蹤,好像你是直接從文件夾路徑加載你的JavaScript文件,它要求使用file協議的文件。要FIC這個問題,你必須承載你的文件/文件夾如IIS,燈,WAMP等(任何服務器)&然後訪問HTML一些服務器上託管從鏈路(http://localhost:8080/index.html

但如果你不想舉辦文件,你可以啓用直接文件訪問,你可以參考[這個答案]( How to launch html using Chrome at "--allow-file-access-from-files" mode?


你應該注入ngRoute模塊中myApp模塊,因爲路由API不拿出開箱即用angular.js。它一直存在於angular-route.js中,其API保存在ngRoute模塊中。基本上每當你想使用Routeing API時,你都應該在應用程序模塊中注入ngRoute。我想確認的另一件事是,angular-route-min.js(我想你可以在js/route.min.js中重命名它)加載是否正確。

var sampleApp = angular.module('myApp',['ngRoute']) 
+0

請解釋他爲什麼如此知道。 –

+0

@MrJSingh謝謝你的擡頭,我更新了答案:) –

+1

是的,我注意到了它:-)謝謝! –

相關問題