2016-12-14 86 views
1

我正在使用的代碼在answer提示如下AngularJs動態名NG重複內的形式改變陣列

<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

而不是使用$index做一些獨特的屬性,可能是項目有它自己的id屬性,它定義了項目的唯一性。所以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> 
+0

謝謝回覆。我初始化表格名稱,如 'NAME = 「innerForm {{$指數}}」'和工作,甚至當我刪除表格名稱有變化accoedingly。 – Kartik

+0

@Kartik沒有,它不應該是'$ index',那將是去除項目相同,你有沒有嘗試過的情況,我建議? –

+0

@Kartik我的回答有幫助嗎? –