Вы можете контролировать, когда происходит обнаружение изменений, используя ChangeDetectionStrategy.OnPush
в вашем компоненте.
@Component({
selector: 'my-component',
templateUrl: './my.component.html',
changeDetection: ChangeDetectionStrategy.OnPush
})
export class MyComponent {
constructor(private changeDetector: ChangeDetectorRef) { }
someMethod(): void {
// do lots of heavy stuff
// now trigger change detection
this.changeDetector.detectChanges();
}
}
Добавление changeDetection: ChangeDetectionStrategy.OnPush
в декоратор означает, что вы сообщите Angular, когда следует запускать обнаружение изменений .
this.changeDetector.detectChanges()
сообщает Angular, что вы готовы к запуску обнаружения изменений.
Эта стратегия означает, что вы можете тихо обновить свою модель и инициировать обнаружение изменений в одном go.