我调用函数* 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[]);
}
}
但我正在寻找方法来删除多余的变量。