【发布时间】:2021-02-06 11:10:03
【问题描述】:
我正在使用模板中的方法来调用函数,该函数返回 boolean 值。问题是该函数被调用超过 6 次。之后我使用了changeDetectionStrategy.onPush,将调用次数减少到 2 次。下面是我的代码
HTML
<div *ngIf="(checkboolObs(check$)) | async"></div>
TS
check$: Observable<service> = this.data.getresponse();
ngOnInit() {
this.checkboolObs();
}
checkboolObs(style):boolean {
return somestyleIDS.includes(style.component)
}
如果找到该值,它会返回true,但它会被调用多次,我只需要调用一次。这背后的原因是因为checkboolobs() 在导航时有时不会被触发,这就是我从模板调用此方法的原因。
【问题讨论】:
-
我没有看到 Observable
check$和其余代码的任何连接。checkboolObs不是可观察的 -
@MoxxiManagarm 请立即查看
-
仍然,您在
checkBoolObs上使用异步管道,它返回boolean而不是Observable<boolean>。我不明白check$是如何参与其中的。另外也许这篇文章会帮助你medium.com/showpad-engineering/…
标签: angular typescript rxjs angular9 rxjs-observables