最终目标是使用动态创建的嵌套 ngFor。
我尝试创建一系列下拉菜单,每个下拉菜单都取决于前一个。下拉菜单的确切数量未知并且是动态创建的。例子:
<form [ngFormModel]="dropDownForm" (ngSubmit)="onSubmit()">
<div *ngFor="#nr of numberOfDropdowns">
<label>{{nr.name}}</label>
<select [ngFormControl]="dropDownForm.controls[i]">
<option *ngFor="#item of Dropdown[nr.id] | async" value="{{item.value}}">{{item.name}}</option>
</select>
</div>
<button type="submit">Submit</button>
</form>
整个事情在 Dropdown[nr.id] 失败,它似乎不适用于异步管道。
我玩了一下:
{{myAsyncObject | async}} //works
{{myAsyncObject['prop1'] | async}} //fails silently
{{myAsyncObject['prop1']['prop2'] | async}} // EXCEPTION: TypeError: Cannot read property 'prop2' of undefined in [null]
关于如何让这个工作的任何想法?
最佳答案
只想添加一个对我有用的替代方法(不需要额外的管道):
*ngFor="#obj of (myAsyncObject | async)?.prop1?.prop2"
关于angular - 在 ngFor 中使用异步管道,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33747069/