用于更改数组

时间:2016-12-14 09:21:49

标签: javascript angularjs

我正在使用answer中建议的代码,如下所示

<div ng-repeat="item in itemList" ng-init="formName = 'item_details' + $index">
 <form name="{{formName}}" ng-class="validateForm(formName)">
   //few form elements
 </form>
</div>

但我的问题是当数组(itemList)值更改时,表单名称保持不变。我希望表单名称应该根据索引值进行更新。

1 个答案:

答案 0 :(得分:0)

不是使用$index确实使用某些唯一属性,可能是item有自己的id属性,它定义了item的唯一性。因此ng-init看起来像formName = 'item_details' + item.id"

<div ng-repeat="item in itemList" ng-init="formName = 'item_details' + item.id">
 <form name="{{formName}}" ng-class="validateForm(formName)">
   //few form elements
 </form>
</div>

即使我想知道你背后需要什么,每个表格都有独特的名字?您可以使用嵌套表单,innerForm将获得验证。此后,验证将处理的方式是,当所有innerForm生效时,outForm有效。当innerForm中的任何一个无效时,outerForm在这种情况下无效。

<ng-form ng-repeat="item in itemList" name="outerform">
 <form name="innerForm" ng-class="validateForm(innerForm)">
   //few form elements
 </form>
</div>