最终目标是使用动态创建的嵌套 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/

10-13 09:00