【发布时间】:2019-10-10 06:40:51
【问题描述】:
这是我的例子:
my-list.component.ts:
export class MyList implements OnInit {
values: Observable<number>;
ngOnInit(){
this.values= Observable
.from([1, 2, 3, 4, 5])
.map(function (value) { return Observable.of(value).delay(2000); })
.concatAll();
// this.values.subscribe(x => console.log(x)); this is OK
}
}
my-list.component.html:
<div *ngFor="let v of values|async">
{{v}}
</div>
但我收到错误:
找不到“数字”类型的不同支持对象“1”。 NgFor 只支持绑定到 Arrays 等 Iterables。
我认为我可以使用“流”创建 ngFor。这是怎么做的?当然,我可以这样想:
.subscribe(x => this.data.push(x))
*ngFor="let v of values"
我不明白如何使用异步管道。谢谢
【问题讨论】:
-
console.log(values)并显示输出 -
@bluray,当您创建
variable=Observable(...)时,您将“变量”等同于 observable 而不是结果。您需要将 this.value=x 写入订阅函数 -
*ngFor 这里收到一个数字 - 1 - 作为参数。自然,它是不可迭代的。你的用例是什么?你想达到什么目标?
-
我想在收到值时显示它们。首先会显示1,两秒后1,2 两秒后1,2,3...
-
我以为是在做异步管道
标签: angular