Angular 6 ng用于在同一父元素中引用循环变量

前端之家收集整理的这篇文章主要介绍了Angular 6 ng用于在同一父元素中引用循环变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Angular Material手风琴我希望使用* ngFor创建如下 –

<mat-expansion-panel class="noShadow border-top"
                     [expanded]="guest.get('expanded').value"
                     [formGroup]="guest"
                     *ngFor="let guest of guestFormArr.controls; let i = index;">

请注意[expanded]属性,我需要根据* ngFor循环中的’guest’变量设置它.

我似乎无法让这个工作.这甚至可能吗?元素是否可以在定义的同一级别访问“guest”变量?我理解访问’guest’的嵌套元素.

谢谢

解:

我最后做了以下事情

<mat-expansion-panel class="noShadow border-top"
                 *ngFor="let guest of guestFormArr.controls; let i = index;"
                 [formGroup]="guest" [expanded]="open === i">

然后我会简单地增加或减少’Next’和’Back’按钮上的’open’变量,它们分别具有(click)= next(i)或(click)= back(i).

解决方法

订单很重要,在* ngFor之后设置expand和formGroup属性.目前,您正在尝试在初始化guest虚拟机变量之前设置这些属性,因此它将是未定义的.

<mat-expansion-panel class="noShadow border-top"
                     *ngFor="let guest of guestFormArr.controls; let i = index;"
                     [formGroup]="guest"
                     [expanded]="guest.get('expanded').value">

猜你在找的Angularjs相关文章