我试图添加多个数组输入和一个将创建新输入的按钮。
我有四个数组vm.work_place[]
,vmwork_year_start[]
,vm.work_yead_end[]
,vm.work_why_left[]
。我想要的是每次单击一个按钮时创建一个新输入,然后单击另一个按钮将删除输入。
<button ng-click="vm.work_place.push(' ');vm.work_year_start.push(' ');vm.work_yead_end.push(' ');vm.work_why_left.push(' ');">Add row</button>
<tr ng-repeat="x in vm.work_place">
<td>
<input name="work_place[]" ng-model="vm.work_place[$index]"/>
</td>
<td>
<input name="work_place[]" ng-model="vm.work_year_start[$index]"/>
</td>
<td>
<input name="work_place[]" ng-model="vm.work_yead_end[$index]"/>
</td>
<td>
<input name="work_place[]" ng-model="vm.work_why_left[$index]"/>
</td>
<td>
<button ng-click="vm.work_place.splice(index, 1);vm.work_year_start.splice(index, 1);vm.work_yead_end.splice(index, 1);vm.work_why_left.splice(index, 1);">Remove row</button>
</td>
</tr>
但是问题是,当我单击添加新行按钮时,上面的代码给我一个ngRepeat:dupes
错误。
如何同时创建多个输入。在所有四个数组上添加一个项?
答案 0 :(得分:0)
ngRepeat:dupes
,当您在具有重复值的数组中进行迭代时,会发生此错误。因此,我猜您在第二次添加行时会出错。因为在添加第一行并再次单击' '
时,已经 vm_worksapace 已将' '
作为数据,所以现在存在重复值,ng-repeat
将给出你错了。
要使它具有重复值
替换 <tr ng-repeat="x in vm.work_place" >
与 <tr ng-repeat="x in vm.work_place track by $index" >