ng repeat内表单的AngularJs动态名称

ng repeat内表单的AngularJs动态名称,angularjs,Angularjs,如何使用动态名称命名ng repeat中的表单 <div ng-repeat="item in itemList"> <form name="item_details" ng-class="validateForm(item_details)"> //few form elements </form> </div> //少数形式元素 我想动态命名每个表单。例如,将$index添加到表单的名称中。我如何做到这一点?我在ng repea

如何使用动态名称命名ng repeat中的表单

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

//少数形式元素
我想动态命名每个表单。例如,将$index添加到表单的名称中。我如何做到这一点?我在ng repeat上尝试了ng init,但没有成功。

您可以执行以下操作:

<form name="item_details{{$index}}" ng-class="validateForm('item_details'+$index)">
如果只是基于表单的有效性应用类,则可以将样式应用于,例如:
ngvalid

.ng-valid {
   background-color: green;
}

您可以使用括号表示法通过动态名称访问表单实例:

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

//少数形式元素

这不起作用<代码>validateForm方法接收到表单变量输入的未定义。您没有领会我的意思。如果您所需要做的只是将css设置为一个复杂的验证,而不是css更改,那么就不需要使用
validateFrom
。验证多个表单字段值以启用“提交”按钮。在这种情况下,validateForm方法不会接收表单控制器实例。相反,它的输入变成了具有表单名称的“字符串”对象。请您定义
validateForm(formName)
这个函数downvows没有意义-这是一个合法的问题我同意downvows没有意义。是的,没有理由拒绝投票,这是一个相当困难的任务,产生了合法的有用答案
<div ng-repeat="item in itemList">
  <form name="item_details{{$index}}" ng-class="validateForm(this['item_details' + $index])">
    //few form elements
  </form>
</div>