2016-04-21 81 views
1

angular.module('app',[]) 
 
    .controller('myCtrl',function() { 
 
    this.items = m; 
 
}); 
 

 
var m = { 
 
    "India": "4", 
 
    "England": "2", 
 
    "Brazil": "3", 
 
    "UK": "1", 
 
    "USA": "3", 
 
    "Syria": "2" 
 
};
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script> 
 
<body> 
 

 
    <h3>FIFA Mactch Summary:</h3> 
 
    <div ng-app='app' ng-controller="myCtrl"> 
 
     <ul> 
 
      <li ng-repeat="(country,goals) in items">{{country}}: {{goals}}</li> 
 
     </ul> 
 
    </div> 
 

 
</body>

当以上是我的代码。当我运行它时,得到了Uncaught Error [$ injector:modulerr]错误。我无法弄清楚为什么得到这个错误。任何人都可以帮助我?真的很感激。

回答

1

为了让您访问DOM中的Angular属性,您需要建立一个作用域,并在控制器中注入$scope作为依赖项,您可以将它放在函数参数中。然后,您需要将您的items分配给作用域对象上的某个对象,以便在DOM中对其进行访问。为了它的工作,它应该看起来像这样。另外,我会避免像控制器外部漂浮的m对象。如果你只在一个控制器中使用某些东西,我会说最好将信息保存在控制器中。

angular.module('app',[]) 
 
    .controller('myCtrl', ['$scope', function($scope) { 
 
    $scope.items = { 
 
    "India": "4", 
 
    "England": "2", 
 
    "Brazil": "3", 
 
    "UK": "1", 
 
    "USA": "3", 
 
    "Syria": "2" 
 
    }; 
 
}]); 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script> 
 
<body> 
 

 
    <h3>FIFA Mactch Summary:</h3> 
 
    <div ng-app='app' ng-controller="myCtrl"> 
 
     <ul> 
 
      <li ng-repeat="(country,goals) in items">{{country}}: {{goals}}</li> 
 
     </ul> 
 
    </div> 
 

 
</body>

+0

太谢谢你了! – PPXia

相关问题