ChangeDectector调用onLoad

时间:2019-01-31 22:24:07

标签: android angular typescript angular-ng-if angular-changedetection

所以我有一个带有一些动画的自定义组件,需要调用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 multipleTimes。因此,每次我调用this.changeDetector.detectChanges()时,都会触发onLoad方法,导致“超出最大调用堆栈大小”。有人知道这是怎么回事吗?以及如何解决?

预先感谢大家!

0 个答案:

没有答案