我有一个简单的angular2组件,它只包含一个ag-grid组件,并且有一些数据绑定到它。
我的组件实现了DoCheck,并且在组件中实现了ngDoCheck方法。
export class AppComponent implements DoCheck
{
ngDoCheck() {
console.log('do check..');
}
}
我意识到ngDoCheck功能总是无休止地运行。
有关此问题的任何解释。
答案 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');
}