Я использую файл chart.js в приложении angular и рисую диаграмму с данными, поступающими из конечной точки API.
ngOnInit(): void {
this._route.params.subscribe(p => {
let id: number = +this._route.snapshot.params["id"];
this.busy = this._awpsService
.getOutcomeItem("years", id).subscribe(data => {
this.years = data;
this.selYear = this.years[0];
this.ngZone.onMicrotaskEmpty.first.subscribe(() => {
$("#year").selectpicker();
$(window).resize();
});
this.getProjectItems(id);
});
});
}
Приведенный выше код прекрасно работал с angular 4, но после обновления до angular7, мне пришлось изменить свой код на
this.ngZone.onMicrotaskEmpty.subscribe(() => {
$("#year").selectpicker();
$(window).resize();
});
, потому что .first
ушел в угловой 7. Это увеличило загрузку процессора и привело к сбою приложения.ngZone.onMicrotaskEmpty.first
широко используется в моем приложении, и я не знаю, как правильно обработать обнаружение изменений. Я также пробовал этот способ
this.ngZone.onMicrotaskEmpty.subscribe({
next: () => {
this.ngZone.run(() => {
$('#year').selectpicker();
$(window).resize();
});
}
});
, но не повезло.кто-нибудь может мне помочь с этим?Спасибо