Angular的奇怪数组行为
Strange array behaviour with Angular
我在控制器中有一个二维数组:
var MainController = function($scope) {
$scope.board = [[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]];
};
我想将其显示为表格:
<table>
<tr ng-repeat="line in board">
<td ng-repeat="cell in line">
{{ cell }}
</td>
</tr>
</table>
使用此代码都可以正常工作,但是如果我更改板中的数据以在该行(内部数组)中制作两个相同的单元格 - 此行将消失。 因此,如果我将控制器更改为:
$scope.board = [[1, 2, 3, 4],
[5, 6, 7, 7],
[9, 10, 11, 12],
[13, 14, 15, 16]];
第二行消失。
为什么以及如何修复它?
它将相同的值视为重复项。通过添加track by
语法来修改视图,如下所示
<table>
<tr ng-repeat="line in board track by $index">
<td ng-repeat="cell in line track by $index">
{{ cell }}
</td>
</tr>
</table>
这
将导致项目按其在数组中的位置进行键控 而不是它们的价值
请参阅转发器中的重复键
相关文章:
- Javascript(Angular)从一个对象数组到第二个数组查找值
- Angular只从数组中获取所需的数据
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 向Angular作用域对象添加对象数组——TypeError
- 使用Angular.js解析JSON中的嵌套对象数组
- 获取Angular JS中的数组大小
- 使用Angular.js访问php数组数据
- 如何在 Angular JS 中从关联数组创建多个复选框
- 以angular.js显示数组
- Javascript或angular js中的对象数组
- 要筛选的数组的管道值的含义:$select.search in angular
- $scope$观察数组中的一个特定对象——Angular JS控制器
- 2D数组在Angular JS 1.2.x中工作,而不是在1.3.x中工作
- 如何在angular js/HTML中处理数组
- angular mongodb数组格式写错了
- 从作为参数传入的数组中删除对象不会修改原始数组 (Angular)
- orderBy数组Angular ng中的项值重复
- N级层次结构数组Angular JS
- 如何在工厂/服务中推送数据到数组(ANGULAR/IONIC)
- 试图避免将重复项推入数组Angular