如何在ng-repeat中显示JSON object.array.object?

时间:2014-03-06 18:49:22

标签: javascript json angularjs ng-repeat

如何使用AngularJS的ng-repeat访问json对象中的数组内的对象?

此外,如果您在表格的每一行上复制了一个编辑按钮(使用ng-repeat),如何在单击一个按钮时禁用其他按钮副本?

这是我的代码:http://plnkr.co/edit/VNuVLrtadJ2gyOr3AeoX?p=preview

2 个答案:

答案 0 :(得分:1)

禁用其他元素的编辑非常简单。您只需要在父作用域中添加一个标记,表示正在编辑元素:

$scope.editing = false
$scope.toggleEdit = function(){
  $scope.editing = !$scope.editing;
}

然后将ng-showng-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

答案 1 :(得分:0)

您可能想尝试第二个嵌套循环。比如说,在这个ng-repeat中:

<tr ng-repeat="rows in table._embedded.events">

在rows._embedded.alternate

中对altRows进行另一次ng重复
<span ng-repeat="altRows in rows._embedded.alternate">...</span>