我調用函數* ngFor聲明HTTP調用使用功能:無限循環,同時在* ngFor與異步管
@Component({
selector: 'foo-view',
template: '<div *ngFor="let foo of loadAll() | async"></div>'
})
export class FooComponent {
loadAll() : Observable<Foo[]> {
return this.http.get(`api/foos`)
.map(response => response.json() as Foo[]);
}
}
當代碼開始,它發送的無限循環一遍又一遍的http請求。
爲什麼? 我能做些什麼來避免這種情況?
P.S.我知道標準的解決方法,如
@Component({
selector: 'foo-view',
template: '<div *ngFor="let foo of foos"></div>'
})
export class FooComponent implements OnInit {
foos: Foo[] = [];
ngOnInit() {
loadAll().subscribe(foos => this.foos = foos);
}
loadAll() : Observable<Foo[]> {
return this.http.get(`api/foos`)
.map(response => response.json() as Foo[]);
}
}
但我正在尋找方法來刪除多餘的變量。