谷歌搜索似乎几乎所有曾经涉猎Angular的人都曾遇到过此问题:
您使用*ngIf
指令创建Dom元素:
<div *ngIf="array.length">
Don't show me until I'm ready please !
</div>
您当场评估是否应该建立子域。
然后,例如,您以api响应的形式接收数据:
this.http.post(
this.url,args,this.authenticationService.getRequestOptions()
).subscribe(data => {
this.array = data;
console.log('truthy? : ',this.array.length);
}
);
由于某种原因,角度更改检测此时失败,并且*ngIf
Dom节点未评估并变为可见。
即使您的控制台给了您:
truthy? : 1
这是怎么回事,什么是最好的方法?