首页 > 解决方案 > 如何识别 *ngFor 循环已完成标记更改?

问题描述

我有一系列公司从服务中获取并在*ngFor指令的帮助下绑定该数组数据。

现在,我想显示一个覆盖“等待......”的整个页面,直到数据绑定到标记为止。

直到那时,我尝试了这个

GetCompanies()
{
//here is 'startWaitingModal()'
this._svc.GetCompanies().subscribe(ret => {}, error => {}, () => { //here is 'endWaitingModal()'});
}

我知道endWaitingModal()在服务调用完成后立即调用而不是在绑定完成后调用,这是有道理的。之后我发现了这个解决方案角度生命周期钩子,它工作正常。

ngDoCheck()

只要组件标记发生更改,就会触发此挂钩。它对我有帮助,但据我所知,这个解决方案还达不到标准,因为它像父监听器一样工作(连续监听),并且会寻找标记中的任何变化并被触发,这不是正确的方法. 我认为它应该像特定元素一样工作。请指导我。

标签: angularangular6angular-servicesangular-lifecycle-hooks

解决方案


推荐阅读