未捕获的错误:[$ injector:modulerr]无法在Apache上的Angular.js应用程序上实例化模块错误

moa*_*lee 8 angularjs angularjs-ng-repeat

我正在使用Apache服务器来托管一个角度应用程序.这是index.html:

<html>
  <head>
    <script src="/lib/angular/angular.js">
  </head>
  <script>
     myapp = angular.module('myapp', []);

     myapp.controller('indexCtrl', function($scope){

          $scope.words = ['It','is','what','it','is']
     });

  </script>

  <body ng-app="myapp">

      <div ng-controller="indexCtrl">
        <div ng-repeat="word in words">
          {{word}}
        </div>
      </div>

  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我从浏览器点击html时,它显示一个空白页面,显示以下错误:

未捕获错误:[$ injector:modulerr]由于以下原因无法实例化模块myapp:错误:[$ injector:nomod]模块'myapp'不可用!

您要么错误拼写了模块名称,要么忘记加载它.如果注册模块,请确保将依赖项指定为第二个参数.

可能有什么不对?

Ved*_*Ved 9

该错误是由于数组内的重复值.我已添加track by $index内部ng-repeat来解决此问题.

DOCS:ng-repeat

修改后的代码:

<html>
  <head>
    <script src="/lib/angular/angular.js"></script>
  </head>
  <script>
     var myapp = angular.module('myapp', []);

     myapp.controller('indexCtrl', function($scope){

          $scope.words = ['It','is','what','it','is']
     });

  </script>

  <body ng-app="myapp">

      <div ng-controller="indexCtrl">

          <div ng-repeat="word in words track by $index">

             {{word}}

          </div>
      </div>

  </body>
</html>
Run Code Online (Sandbox Code Playgroud)