我有下一个json结构:
{ "items": [ {"name":"item1"},{"name":"item2"},{"name": "item3"} ],"groups": [{ "name": "group1","items": ["item1","item3"] },{ "name": "group2","items": ["item2",{ "name": "group3","item2"] }]
}
正如你在我的小组中看到的,我有项目的名称.
angularjs中是否有一种方法可以自动更新组中的字符串>项目,当特定项目的名称更改时. (有没有办法连接json模型的特定部分?)
谢谢.
解决方法
您可以为项目数组中的每个项目设置深度$watch.项目更改时,迭代组项目,并使用新名称替换旧名称:
angular.forEach($scope.model.items,function (item) { $scope.$watch(function () { return item; },function (newVal,oldVal) { angular.forEach($scope.model.groups,function (group) { var items = group.items; var itemIndex = items.indexOf(oldVal.name); if (itemIndex >= 0) { items[itemIndex] = newVal.name; } }); },true); });