ng-repeat angularjs 1.5.11 不工作
ng-repeat angularjs 1.5.11 not work
我有一个 angularJS v1.5.11 应用程序,
但是当我想在 table 中做一个简单的 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
)
我有一个 angularJS v1.5.11 应用程序, 但是当我想在 table 中做一个简单的 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
)