如何将更新的数据放入特定元素?

时间:2016-12-26 07:54:47

标签: angularjs

我列出了使用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',  
       }

我想将子数据放入渲染它的元素中。 有办法吗?

提前感谢您的建议。

1 个答案:

答案 0 :(得分:1)

是的,您可以更改items数组对象的结构,Angular会自动重新渲染整个对象。

使用JavaScript对象和数组进行操作的最简单方法是使用库,例如​​ lodash 。 您也可以使用纯JavaScript进行操作,但使用库将为您节省大量时间和精力。

例如,通过使用lodash,您可以根据itemid找到name,然后对其进行更改。