2017-01-12 5 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), затем ngModel = app.whatever еще не назначает ngModel'. Что-то в этом роде. – gh0st