Angular2组件ngDoCheck无休止地执行

时间:2017-02-14 12:27:39

标签: angular ag-grid angular2-docheck ag-grid-ng2

我有一个简单的angular2组件,它只包含一个ag-grid组件,并且有一些数据绑定到它。

我的组件实现了DoCheck,并且在组件中实现了ngDoCheck方法。

export class AppComponent implements DoCheck 
{
    ngDoCheck() {
        console.log('do check..');
    }
} 

我意识到ngDoCheck功能总是无休止地运行。

有关此问题的任何解释。

2 个答案:

答案 0 :(得分:3)

  

无论变化发生在何处,每个变化检测周期都会以极高的频率调用此挂钩。

是一个非常脏的循环,实际上甚至角度本身也建议使用更合适的方式来实现自定义检查。

https://angular.io/docs/ts/latest/api/core/index/DoCheck-class.html

答案 1 :(得分:0)

在我的案例中,ngendViewChecked被无休止地调用,因为sendry.js对console.log进行了猴子修补,从而触发了变更检测。 我拔掉一半的头发,直到发现下面的代码由于哨兵导致循环。

ngAfterViewChecked () {

    console.log('Rendered');

}