[英]ng-repeat angularjs 1.5.11 not work
我有一个angularJS v1.5.11应用程序,但是当我想在表格中做一个简单的ng-repeat时,我遇到了一个大问题
<tbody>
<tr ng-repeat="score in data.result">
<td ng-repeat="item in score"> {{ item }} </td>
</tr>
</tbody>
我的代码可以在angularJS v1.1.1上正常运行 ,希望能对我有所帮助。 我在这里制作了一个JSFiddle: https ://jsfiddle.net/vpLj20w1/5/您可以更改JSFiddle中的AngularJS框架版本以在1.1.1上正常工作,但在1.4.8和更高版本上则无法正常工作。
最好的问候,阿克塞尔。
您需要告诉angularjs您的控制器存在。 尝试声明一个模块并将控制器添加到该模块中:
<div ng-app="myApp">
<div ng-controller="scoreCtrl">
...
</div>
</div>
然后添加到您的JavaScript中:
var app = angular.module("myApp", []);
app.controller("scoreCtrl", scoreCtrl);
现在它比以前运行得更好,但是您遇到了ng-repeat="item in score"
因为angularjs需要ng-repeat中使用的任何内容的唯一键,并且您有重复的项。
将内部循环更改为:
<td ng-repeat="item in score track by $index"> {{ item }} </td>
现在您应该获得预期的输出。
顺便说一句,在浏览器中查看javascript控制台会在这里为您提供帮助:最初它抱怨它找不到控制器功能,然后当我将其注入应用程序时,它抱怨了转发器。
这是因为您尚未将控制器注入到应用程序中。 我无法解释为什么您的示例在1.1.1上可用,因为我只有1.4.x +的经验,但是您需要使用模块控制器注入。
https://jsfiddle.net/vpLj20w1/7/
angular.module('app', [])
.controller('scoreCtrl', scoreCtrl);
并给您的ng-app命名(我用过app
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.