【问题标题】:Angular: $routeProvider角度:$routeProvider
【发布时间】:2015-02-06 15:58:52
【问题描述】:

我在设置路由时遇到问题。我在控制台中收到以下错误。我的文件夹“partials”命名正确,我的文件命名正确。有什么帮助吗?

未捕获的错误:[$injector:modulerr] http://errors.angularjs.org/1.3.12/$injector/modulerr?p0=demoApp&p1=Error%3…s%2Fthomasjanszen%2Fcodinghouse%2FAngular%2Fjs%2Fangular.min.js%3A17%3A381)

<!DOCTYPE html>
<html lang="en" ng-app="demoApp">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>

  <div class="container">
  <div ng-view=""></div>  
  </div>
  <script src="js/angular.min.js"></script>
  <script>
    var demoApp = angular.module('demoApp', ['']);

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

    // demoApp.controller('SimpleController', function($scope){
    //   $scope.customers=[
    //     {name: 'name1', city: 'Cincinnati'},
    //      {name: 'name2', city: 'NYC'}, 
    //      {name: 'name3', city: 'Denver'}, 
    //      {name: 'name4', city: 'Chicago'}
    //   ];
    //   $scope.addCustomer = function(){
    //     $scope.customers.push(
    //         {
    //           name: $scope.newCustomer.name,
    //           city: $scope.newCustomer.city
    //         });
    //   };
    // });
  </script>
 
</body>
</html>

【问题讨论】:

  • 你可以点击错误链接并粘贴错误跟踪。
  • 可能是模块定义中的空字符串....将['']改为[]。
  • 尝试在 "demoApp = angular.module('demoApp', ['']);" 中更改 [] 的 ['']

标签: angularjs route-provider ng-view


【解决方案1】:

从 angular 1.2 开始,如果您想要角度路由,则需要

  • 包含 JS 文件:&lt;script src="angular-route.js"&gt;&lt;/script&gt;
    您可以在此处为您的 angular (1.3.12) 版本获取 angular-route.jshttps://code.angularjs.org/1.3.12/
  • 提供 ngRoute 作为依赖,即

改变这个:

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

到这里

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

详情请参考AngularJS Developers Doc - migration guide

【讨论】:

    【解决方案2】:

    您需要在模块中注入“ng-route”作为依赖项

    var demoApp = angular.module('demoApp', ['ng-route']);
    

    【讨论】:

    • 啊@Michael 打败了我!,您可能还需要将脚本包含添加到 angular-route.js,不确定是否已经在 min.js 文件中?
    猜你喜欢
    • 1970-01-01
    • 2014-11-19
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多