2017-01-12 1 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를 확인하고 응용 프로그램이 아래와 같이 존재하는 경우 용기 내부의 속성을 사용할 수 있습니다 : 따라서 반복적에있는 모든 요소에 app를 확인하지 않습니다

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

!

+0

이런 종류의 도움이되었습니다. 기본적으로 컨텍스트는'app'가 존재하면 폼 입력은'app' 객체의 내용을 가질 것입니다. 그러나'app'가 존재하지 않는다면 폼은 비어있을 것입니다. 어쩌면'if (app) then ngModel = app.whatever else does not assign ngModel'을 생각해 보았습니다. 그 라인을 따라 뭔가. – gh0st

관련 문제