2016-08-13 87 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

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

相关问题