我列出了使用ng-repeat的项目及其子项。
have items = [
{item.id:1,
item.name :'item1',
item.children: [
{item.id:11,
item.name :'child1',
},
{item.id:22,
item.name :'child2',
},
{item.id:33,
item.name :'child3',
}]
},
{item.id:2,
item.name :'item2',
item.children: [
{item.id:12,
item.name :'child22',
},
{item.id:23,
item.name :'child33',
},
{item.id:34,
item.name :'child44',
}]
}
];
<div id = "item.id" ng-repeat="item in vm.items">
<div>{{item.name}}</div>
<div id = "child.id" ng-repeat="child in item.children">
<div>{{child.name}}</div>
</div>
比我收到更新的孩子时,例如
{item.id:34,
item.name :'child44_renamed',
}
我想将子数据放入渲染它的元素中。 有办法吗?
提前感谢您的建议。
答案 0 :(得分:1)
是的,您可以更改items
数组对象的结构,Angular会自动重新渲染整个对象。
使用JavaScript对象和数组进行操作的最简单方法是使用库,例如 lodash 。 您也可以使用纯JavaScript进行操作,但使用库将为您节省大量时间和精力。
例如,通过使用lodash,您可以根据item
和id
找到name
,然后对其进行更改。