2013-10-09 43 views
0

我有一個NG-重複內產生的幾種形式:參考變量形式名稱

<div class="familyMembers" data-ng-repeat="member in familyMembers"> 
    ... 
    <form class="familyMemberEdit" name="familyMemberEdit_{{ member.spid }}" novalidate> 
    ... 
    </form> 
    ... 
</div> 

在相應的控制器我想檢查$髒每個這些形式:

... 
var a = ''; 
var condition = false; 
angular.forEach($scope.familyMembers, function(value, key) { 
    a = 'familyMemberEdit_' + value.spid; 
    condition = condition || $scope[a].$dirty; 
}); 
return condition; 

參照$scope[a]返回undefined。在這種情況下,我應該如何參考$scope.familyMemberEdit_1234

+1

'NG-repeat'創建一個新的範圍,因此,所述形式是不可用對父範圍。 – Chandermani

+0

好的,有沒有其他的方式來檢查這些表單是否被改變(我只想顯示保存按鈕,當有變化被保存) –

+0

將是很好,如果你張貼一些小提琴/ Plunker –

回答

0

我可以給一個解決方法,我還沒有測試過。您需要將創建的表單推送到父範圍的數組中。 ng-init上的表單的HTML可用於我認爲

<form class="familyMemberEdit" name="familyMemberEdit_{{ member.spid }}" novalidate ng-init="addForm(this['familyMemberEdit_'+member.spid])"> 

在控制器

$scope.addForm=function(form) { 
    forms.add(form); 
} 
.