2017-01-12 28 views
0

以下のような変数が存在する場合にのみ、ngModelを使用します。変数appが存在しない場合は、モデルに含めることは望ましくありません。私は以下を考えましたが、それを行う最も簡単な方法ですが、各要素のためにappをチェックせずに私のモデルをバインドすることができるより良い方法はありますか?ngModelを割り当てるより良い方法はありますか?

<input id="phone" *ngIf="app" [(ngModel)]="app.phone" [textMask]="{mask: phoneMask}" class="form-control" type="text" formControlName="phone" placeholder="Phone Number"> 
<input id="phone" *ngIf="!app"      [textMask]="{mask: phoneMask}" class="form-control" type="text" formControlName="phone" placeholder="Phone Number"> 

答えて

0

あなたは、コンテナレベルでappをチェックし、アプリは以下のように存在する場合は、コンテナ内のプロパティを使用することができます。

<div *ngIf="app"> 
    <div [(ngModel)]="app.phone"></div> 
    <div [(ngModel)]="app.address"></div> 
    <div [(ngModel)]="app.pin"></div> 
</div> 

したがって、あなたが繰り返してすべての要素でappをチェックする必要はありません!

+0

この種の助けがありました。基本的にコンテキストは 'app'が存在する場合、フォーム入力は' app'オブジェクトの内容を持ちます。しかし 'app'が存在しない場合、フォームは空白になります。私はたぶん 'if(app)then ngModel = app.whatever else does not assign ngModel'と考えていました。それらの線に沿って何か。 – gh0st

関連する問題