2016-05-15 34 views
0

我的代碼,像這樣的名稱動態地創建形式:如何迭代dynamicall創建的參數?

<div ng-click="wos.wordWordFormRowClicked(wf, $index)" 
    ng-form="wos.wordFormNgForm_{{$index}}" 
    ng-repeat="wf in wos.word.wordForms"> 

WOS是服務的名稱。

我想要做的是迭代這些並檢查他們的$原始。我想我能做到這一點是這樣的:

angular.forEach(self.word.wordForms, function (wf, key) { 
     // ? 
    }); 

我想知道的是如何在foreach裏我能得到的WOS服務參數的引用將動態創建?

這些參數會是這樣的:

wos.wordFormNgForm_1.$pristine 
    wos.wordFormNgForm_2.$pristine 
    wos.wordFormNgForm_3.$pristine 
+0

指一個工作版本,我認爲你可以只使用wos.wordFormNgForm_1 [「$原始」] – Katana24

+0

@ Katana24 - 但我怎麼可以把我的forEach裏面? –

回答

1

角的「控制器」語法可以幫助我們與當前視圖控制器的綁定的FormController。

<div ng-app='app' ng-controller='default as wos'> 
     <div ng-click="wos.wordWordFormRowClickd(wf, $index)" 
      ng-form="wos.wordFormNgForm_{{$index}}" 
      ng-repeat="wf in wos.wordForms"> 
     </div> 
</div> 

此外,我們可以使用數組語法來訪問Object的屬性。

angular.module('app',[]).controller('default', function() { 
    this.wordForms = ["1", "2", "3", "4"]; 
    this.checkForm = function() { 
    for (var i = 0; i < this.wordForms.length; i ++) { 
      console.log(this["wordFormNgForm_" + i].$pristine); 
    } 
} 
}) 

請我jsfiddle