一尘不染

ng-repeat中表单的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-repeat上尝试了ng-init,但是没有用。


阅读 249

收藏
2020-07-04

共1个答案

一尘不染

您可以这样做:

<form name="item_details{{$index}}" ng-class="validateForm('item_details'+$index)">

编辑

您也可以使用ng-init,如下所示:

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

如果仅基于表单的有效性应用类,则可以将样式应用于自动添加的类,例如ng-valid

.ng-valid {
   background-color: green;
}
2020-07-04