ngModelGroup внутри ngFor?
Как я могу получить статус проверки NgModelGroup
который вложен в NgFor
?
Если у меня нет NgFor
Я могу назначить группу переменной шаблона следующим образом:
<p *ngIf="addressCtrl.invalid">Address is invalid.</p>
<div ngModelGroup="address" #addressCtrl="ngModelGroup">
<input name="city" [ngModel]="address.city" required>
<input name="state" [ngModel]="address.state" required>
<input name="zip" [ngModel]="address.zip" required>
</div>
Но вместо этого я хочу иметь что-то вроде этого:
<p *ngIf="addressCtrl.invalid">Address # {{index}} is invalid.</p>
<div *ngFor="let address of addresses">
<div ngModelGroup="address" #addressCtrl="ngModelGroup">
<input name="city" [ngModel]="address.city" required>
<input name="state" [ngModel]="address.state" required>
<input name="zip" [ngModel]="address.zip" required>
</div>
</div
Проблема в том, что я получаю addressCtrl
не определено
Вот плункер, который я создал для проверки этого: https://plnkr.co/edit/RXi2T52kynsWLr4fDMVa?p=preview
2 ответа
addressHistory valid? {{ myHistoryGroup.valid }}
<ul ngModelGroup="addressHistory" #myHistoryGroup="ngModelGroup">
<li *ngFor="let i = index; let address of addressHistory">
<div [ngModelGroup]="i" #myLi="ngModelGroup">
address valid? {{ myLi.valid }}
<input type="text" [(ngModel)]="address.state" name="state" />
<input type="text" [(ngModel)]="address.country" name="country" />
</div>
</li>
</ul>
<!--
#myForm.value will be like this:
{ "addressHistory": { "0": { ... }, "1": { ... }}, ... }
-->
Да, вы можете использовать это так.
Кажется, работает нормально, если вы двигаетесь
<p *ngIf="addressCtrl.invalid">Address # {{index}} is invalid.</p>
внутри вашей итерации.
Ваш плункер имеет немного другой код, так что это будет:
<p *ngIf="group.invalid">Address # {{index}} is invalid.</p>
Ваш раздвоенный