我正在开发一个 Angular 应用程序。问题是我的模板annonces
在相应组件中对变量 ( ) 的请求返回其值之前显示。所以我必须使用async
管道。我尝试使用它,但模板中的变量没有刷新,并且我没有*ngFor
指令的结果
这是组件
export class AppListProduitImmobilierComponent implements OnInit {
public annonces: Observable<ProduitImmobilierDTO[]>
.................
.................
ngOnInit() {
this.preloadData(); // this function does a pre-request and afterwards call loadData(search)
................
...............
loadData(search: Search) {
this.annonces = this.service.getListProduitImmobilierDTO(this.pagesize, this.page, search);
模板部分如下:
<mat-card *ngFor="let annonce of annonces | async; let i = index" class="pointer">
服务如下:
getListProduitImmobilierDTO(pagesize: number, page: number, search: Search): Observable<ProduitImmobilierDTO[]> {
const headers = new HttpHeaders({ 'Content-Type': 'application/json' });
const options = { headers: headers };
search.page = page;
search.pageSize = pagesize;
return this.http.post<Search>('/api/produitimmobilier/all', JSON.stringify(search), options).pipe(map((search: Search) => search.result as ProduitImmobilierDTO[]));
}