下面是一个使用 rxjs Observables 的简单示例 Angular 2 组件。
import { Component , OnInit } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/of';
@Component({
selector:'ob',
template: `
<ul>
<li *ngFor="let x of obj | async">
{{x}}
</li>
</ul>
`
})
export class ObComponent implements OnInit{
obj:Observable<number>;
ngOnInit() {
this.obj = Observable.of(1,2,3,4);
}
}
该组件抛出以下错误
inline template:15:12 caused by: Cannot find a differ supporting object '4' of type 'number'. NgFor only supports binding to Iterables such as Arrays.
知道可能是什么问题吗?
最佳答案
Observable.of 。按序列发出值,因此 *ngFor
通过异步接收单个值,而不是 *ngFor
期望的数组。
使用
obj:Observable<number[]>;//declare
Observable.of([1,2,3,4])
关于angular - Angular 2 中的 Observable 和 ngFor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42856913/