RxJS Observables:使用值创建

问题描述

我还没有服务来调用这些值,所以我正在使用aysnc ngFors做一些样板代码

我正在尝试创建一个可以被ngFor使用的可观察对象。我尝试:

 statuses$ = Observable.create((o) => {
    o.next(new NameValue('Open','OPEN'));
    o.next(new NameValue('Closed','CLOSED'));
    o.complete();
  });

然后

        <mat-option *ngFor="let status of statuses$ | async" [value]="status.value">
          {{ status.name }}
        </mat-option>

但是我收到异步错误

找不到类型为“打开”的其他支持对象“ [对象对象]”。 NgFor仅支持绑定到数组等Iterables

解决方法

模拟您的可观察对象:

import { of } from 'rxjs';    

statuses$ = of([new NameValue('Open','OPEN'),new NameValue('Closed','CLOSED')]);

给出了*ngFor可以解释的数组,而不是您当前返回的对象。