我有這個最小的組件:
import { Component, VERSION } from '@angular/core';
import { Observable, Observer } from 'rxjs';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
})
export class AppComponent {
name = 'Angular ' VERSION.major;
private counter = 1;
data$ = new Observable<number>((observer: Observer<number>) => {
setInterval(() => {
observer.next(this.counter);
this.counter ;
}, 1000);
});
constructor() {}
}
我正在嘗試異步獲取數字,例如:
<div *ngFor="let d of data$ | async">{{ d }}</div>
但是我得到了錯誤Type 'number' is not assignable to type 'NgIterable<any>'.
據我了解,這與角度英雄教程HeroSearchComponent沒有什么不同。
誰能指出我正確的方向?
謝謝!
uj5u.com熱心網友回復:
*ngFor 指令用于迭代值陣列。在您的代碼中,您使用 *ngFor 迭代單個原始值,這就是您收到此錯誤的原因Type 'number' is not assignable to type 'NgIterable<any>'.
如果你想獲得單個值,你可以使用 ngIf 和異步管道
<div *ngIf="data$ | async as d">{{ d }}</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/495093.html
