tar*_*rmo 13 angular2-changedetection angular
我有谷歌地图,每秒触发100次以上的变化检测.如何禁用此更改检测.
使用鼠标悬停事件时会更糟.
ngDoCheck() {
console.log('do check', this.i++);
}
Run Code Online (Sandbox Code Playgroud)
小智 22
我有同样的问题,尝试在组件构造函数上注入NgZone类
constructor(private zone: NgZone) {
)
Run Code Online (Sandbox Code Playgroud)
然后,使用来自NgZone的runOutsideAngular方法从google图表中调用draw方法,执行类似这样的操作.
this.zone.runOutsideAngular(() => {
var chart = new google.visualization.PieChart(nativeElement);
chart.draw(dataTable, options);
})
Run Code Online (Sandbox Code Playgroud)
这使得执行的代码不会触发角度检测变化.将此应用于您制作的每个图表.我希望找到这个有用的.
小智 11
临时禁用更改检测ChangeDetectorRef的另一个选项
enabled = true;
constructor(private ref: ChangeDetectorRef)
toggleChangeDetection() {
if (this.enabled)
{
this.enabled = false;
this.ref.detach();
}
else {
this.enabled = true;
this.ref.reattach();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8258 次 |
| 最近记录: |