У меня есть сценарий, в котором, если я нажимаю переключатель, изначально присутствуют 5 текстовых полей ввода. Но когда я нажимаю переключатель, будет отправлен запрос на обслуживание, и на основе ответа мне нужно скрыть некоторые из нежелательных текстовых полей.
Пример:
<input id="1" [(ngModel)]="name"></input>
<input id="2" [(ngModel)]="dob"></input>
<input id="3" [(ngModel)]="city"></input>
<input id="4" [(ngModel)]="state"></input>
<input id="5" [(ngModel)]="country"></input>
Ответ службы:
{
"id": 1,
"value": "First",
},
{
"id": 2,
"value": "Second",
}
Так что теперь мне нужно скрыть все элементы ввода, кроме id = 1 и 2.
Я попробовал этот подход, и он также работает
<div *ngFor="let res of response">
<input id="1" *ngIf="res.id===1" [(ngModel)]="name"></input>
<input id="2" *ngIf="res.id===2" [(ngModel)]="dob"></input>
<input id="3" *ngIf="res.id===3" [(ngModel)]="city"></input>
<input id="4" *ngIf="res.id===4" [(ngModel)]="state"></input>
<input id="5" *ngIf="res.id===5" [(ngModel)]="country"></input>
</div>
Но этот подход кажется не идеальным, поскольку имеет место ненужное зацикливание.
Есть ли лучший способ удовлетворить мою потребность?
P.S: id атрибут здесь просто заполнитель