我正在使用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)值更改时,表单名称保持不变。我希望表单名称应该根据索引值进行更新。
答案 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>