は2

2016-06-25 7 views
3

角度で未定義のプロパティ「エラー」を読み込めません、私はangular2を使用して、私のテンプレートを検証していますが、一方でそれは、このエラーを示しています。ここは2

Cannot read the property 'errors' of undefined. 

は私のテンプレートです:

<h3 class = "head">{{title}}</h3> 
<form [ngFormModel]="form" #f="ngForm"> 
    <div class="row"> 
    <div class="form-group">  
     <label class="formHeading">Facebook</label> 
     <input type="text" id="facebook" class="form-control col-xs-3" ngControl="facebook" #facebook="ngForm" > 
    </div> 
    <div *ngIf ="facebook.touched && facebok.errors"> 
     <div class="form-row btn"> 
     <button type="submit" class="btn btn-primary pull-right butspace" [disabled]="!f.valid">Save</button> 
    </div> 
    </div> 
</form> 

私はいけませんそれがなぜこのエラーを示すのか知っている。誰でもそれを修正できますか?

答えて

10

まず、errorプロパティにfacebookの代わりにfacebokがあります。

これで問題が解決しない場合は、割り当てられる前にfacebookオブジェクトが使用されている可能性があります。たとえば、@Input()の場合に発生します。

Elvis operatorを使用します。

*ngIf ="facebook?.touched && facebook?.errors" 
+0

エルビス演算子は、私のために働きました。コンストラクタでフォームグループを設定していましたが、これは明らかにDOMにとって遅すぎました。 – mrClean