2016-10-31 31 views
0

我使用的是angular2 formsModule和material2 library角度2材質標籤和ngForm

當我試圖檢查form標籤之外form的有效性,我得到一個

error: Cannot read property 'valid' of undefined

form標籤被包裹成md-tab標籤,我注意到它取決於這個錯誤。

錯誤:

<button (click)="check(fooForm.valid)"></button> 
<md-tab-group> 
    <md-tab label="One"> 
     <form (ngSubmit)="save()" #fooForm="ngForm"> 
      <input name="One"></input> 
      <input name="Two"></input> 
     </form> 
    </md-tab> 
</md-tab-group> 

NO ERROR:

<md-tab-group> 
    <md-tab label="One"> 
     <button (click)="check(fooForm.valid)"></button> 
     <form (ngSubmit)="save()" #fooForm="ngForm"> 
      <input name="One"></input> 
      <input name="Two"></input> 
     </form> 
    </md-tab> 
</md-tab-group> 

有誰發現我已經做錯了嗎? 對不起,我的英文。

回答

0

From what I know fooform is initialized on after view init but your function runes before this life cycle. So I would change my code like this

check(fooForm) HTML和JS中

check(fooForm) { 
return fooForm && fooForm.vali 
}