2017-12-19 13 views
0

Iは、以下のコードを有するだ:私はバックエンド要求を行うと活字体/ 2角度 - マルチレベル[(ngModel)]

<ion-row> 
    <ion-col class="alignCenter" col-6 col-sm-6 no-padding> 
    <p>Pulse (bpm)</p> 
    </ion-col> 
    <ion-col col-6 col-sm-6 no-padding> 
    <ion-item> 
     <ion-input type="text" [(ngModel)]="form.content.vitals.pulse"></ion-input> 
    </ion-item> 
    </ion-col> 
</ion-row> 

は、時々「バイタル」レベルは、未定義です私は例外があります。

* ngIf = "form.content.vitals"のソリューションで、DOMに入力を追加しない方法は、このケースでは適切ではありません。なぜなら、私が "vitals"に何も持っていなければ、入力はまったく表示されません。

私はこのようにもっと多くのレベルがあるので、手動で "バイタル"の値を{}に設定したくありません。この問題を解決するための他の可能性がある、

<ion-item> 
    <ion-input type="text" [ngModel]="form.content.vitals?.pulse" (ngModelChange)="form.content.vitals.pulse = $event"></ion-input> 
</ion-item> 

それは1角で道簡単だったが、私は思っている:

は、私がこれを使用することができます知っていますか?

答えて

0

バックエンドにリクエストすると、「バイタル」レベルが未定義になることがありますが、例外が発生します。その後

あなたがバックエンドからのデータを受信し、それはundefined''などのすべてのプロパティ、有効な値とデフォルトのオブジェクトをロードするかどうかを調べます。

これらのデータを保存/投稿する予定がある場合は、個別にチェックする必要があります。

このため、角度のFormBuilderを見ると、各フォーム要素にあらかじめ定義されたバリデーターまたはカスタムバリデーターを付けることができます。

関連する問題