小编Adi*_*kla的帖子

角度:如何使用 app.tick() ?谁能给我一个 ApplicationRef.tick() 的例子?

当我们谈论 Angular 2 中的变更检测机制时,每个人都建议使用NgZoneChangeDetectorRef

是否有任何工作示例application.tick()/ApplicationRef.tick()也做同样的事情ChangeDetectorRef/ NgZone

第二个问题:API 说,在 DEV MODE 中,ApplicationRef.tick()多次运行更改检测。

有没有办法只运行一次。因为在我使用此方法的那一刻,我收到一条错误消息

ApplicationRef.tick() 被递归调用

我使用 tick() 遇到的问题的类似示例在此 Github 链接中

我已经完成了手动触发更改检测问题。

任何信息在这表示赞赏。谢谢。

angular

11
推荐指数
2
解决办法
8371
查看次数

角度错误:ApplicationRef.tick 被递归调用

我通过在 Zone JS 之外运行另一个更改检测进程成功地显式发出事件。
尽管正在运行更改检测,但错误:ApplicationRef.tick 被称为递归错误。
查看其API https://github.com/angular/angular/blob/4.4.3/packages/core/src/application_ref.ts#L347-L417
tick() 方法陷入 Try-Catch 块中并且无法继续最终因此抛出递归错误。563-576线

这是我在 Application.tick() 中调用的方法

public listenTeamOverview(assetName: string) {
    console.log('parent : ' + assetName);
    console.log('assetClass= ' + this.assetClass);
    this.assetClass = assetName;
    this.application.tick();
//  setTimeout(function(app) {
//      app.tick();
//  }, 2000, this.application);
}
Run Code Online (Sandbox Code Playgroud)

只是想从概念上了解如何摆脱 tick() 方法的递归过程吗?

提前致谢

javascript angular

2
推荐指数
1
解决办法
8115
查看次数

标签 统计

angular ×2

javascript ×1