【发布时间】:2014-03-06 18:49:22
【问题描述】:
如何使用 AngularJS 的 ng-repeat 访问 json 对象中的数组中的对象?
另外,如果您在表格的每一行复制了一个编辑按钮(使用 ng-repeat),当单击一个按钮时如何禁用其他按钮复制?
【问题讨论】:
标签: javascript json angularjs ng-repeat
如何使用 AngularJS 的 ng-repeat 访问 json 对象中的数组中的对象?
另外,如果您在表格的每一行复制了一个编辑按钮(使用 ng-repeat),当单击一个按钮时如何禁用其他按钮复制?
【问题讨论】:
标签: javascript json angularjs ng-repeat
禁用对其他元素的编辑非常简单。您只需要向父范围添加一个标志,表示正在编辑一个元素:
$scope.editing = false
$scope.toggleEdit = function(){
$scope.editing = !$scope.editing;
}
然后让你的ng-show 或ng-hide 类似于ng-hide="editMode || $parent.editing。
您可以使用toggleEdit 函数切换编辑模式:
ng-click="editMode = true; toggleEdit()"
要解决第二个问题,您需要引用数组中要访问的项目。您可以使用 Arrays indexOf 函数来实现这一点:
var index = rows._embedded.alternate.indexOf(shift)
rows._embedded.alternate[ index]._embedded.event.distance
这是您的 plunkr,更新后可与上述内容一起使用:http://plnkr.co/edit/ZwHpN5MFpS2c1VFjLckU
【讨论】:
您可能想尝试第二个嵌套循环。说,在这个 ng-repeat 中:
<tr ng-repeat="rows in table._embedded.events">
在 rows._embedded.alternate 中有另一个用于 altRows 的 ng-repet
<span ng-repeat="altRows in rows._embedded.alternate">...</span>
【讨论】: