我有以下结构父母可以有多个孩子,孩子会有一个目标。我需要在可编辑的表中显示它,但是当我在目标输入中绑定模型时,它也会更新所有其他选定的子目标。
这里是 code
从两行选项中选择相同的孩子,并编辑一个孩子的目标,它也会反映在另一行。
<tbody>
<tr ng-repeat-start="parent in records" ng-class-even="'striped'">
<!--KPI-->
<td><strong>{{parent.name}}</strong></td>
<!-- controls -->
<td tool-tips class="inputs">
<select
ng-model="parent.childrens"
ng-options="item as item.name for item in controlTypes"
multiple='multiple'>
</select>
</td>
<!-- Controls objective-->
<td colspan="1"/>
</td>
</tr>
<tr ng-if="parent.childrens.length>0"
ng-repeat="child in parent.childrens">
<td name="process" colspan="2" style="word-wrap:break-all;" align="right">{{child.name}}
</td>
<!-- Controls objective-->
<td>
<input type="text" class="ultra-short" ng-model="child.objective"
maxlength="200"/>
</td>
</tr>
<tr ng-repeat-end></tr>
</tbody>
请帮助。
答案 0 :(得分:1)
据我所知,它可以使用这种结构,因为你所做的就是使用引用。当您更改某些选项objective
属性时,您实际上会在同一选项中的任何位置更改它,因为您正在使用引用。
<强>更新强>
One way来处理这个
答案 1 :(得分:0)
如果您希望模型在ng-repeat的每次迭代中都不同:
<div ng-repeat="parent in parents">
<select
ng-model="vm.model.parent.item"
ng-options="item as item.name for item in controlTypes"
multiple="multiple">
</select>
</div>
现在每个迭代都有不同的模型,这是你想要做的吗?