Откриване на промяна означава актуализиране на DOM всеки път, когато данните се променят. Angular предоставя две стратегии за откриване на промени. В стратегията си по подразбиране, всеки път, когато някакви данни бъдат мутирани или променени, Angular ще стартира детектора за промени, за да актуализира DOM.
Как Angular открива откриване на промени?
За да стартирате ръчно детектора за промени:
- Inject ChangeDetectorRef услуга в компонента.
- Използвайте markForCheck в метода на абонамента, за да инструктирате Angular да провери компонента следващия път, когато се стартират детекторите за промяна.
- На куката на жизнения цикъл на ngOnDestroy, отпишете се от наблюдаваното.
Какво е цикълът на откриване на промени в Angular?
По време на откриване на промяна Angular изпълнява над свързванията, оценява изразите, сравнява ги с предишните стойности и актуализира DOM, ако е необходимо. След всеки цикъл на откриване на промяна, Angular извършва проверка, за да се увери, че състоянието на компонента е в синхрон с потребителския интерфейс.
Какво е откриване на промяна на Angular onPush?
Стратегията OnPush променя поведението на Angular при откриване на промени по подобен начин, както прави отделянето на компонент. Откриването на промените вече не се изпълнява автоматично за всеки компонент. Вместо това Angular слуша за конкретни промени и стартира откриването на промените само в поддърво за този компонент.
Каква е стратегия за откриване на промяна?
Основният механизъм за откриване на промяната е доизвършват проверки срещу две състояния, едното е текущото състояние, другото е новото състояние. Ако едно от това състояние е различно от другото, значи нещо се е променило, което означава, че трябва да актуализираме (или да изобразим отново) изгледа.