0

所以我有一个自定义组件,其中包含一些需要调用 changeDectector.detectChanges() 的动画

来自我的 childComponent.ts:

public onLoad(): void {
  this.startAnimations()
}

private startAnimations(): void {
  //.. some animations
  this.changeDetector.detectChanges()
}

这一直有效,直到我向我的父组件添加了一个 ngif,如下所示:

<StackLayout *ngIf="isReady">
  <ChildComponent></ChildComponent>
</StackLayout>

出于某种原因,当我添加 ngif 时,它导致 childComponent 多次调用 onLoad。因此,每次我调用 this.changeDetector.detectChanges() 时,都会触发 onLoad 方法,从而导致“超出最大调用堆栈大小”。有谁知道这里发生了什么?我该如何解决?

提前谢谢各位!

4

0 回答 0