Detectarea modificărilor înseamnă actualizarea DOM-ului ori de câte ori datele sunt modificate. Angular oferă două strategii pentru detectarea schimbărilor. În strategia sa implicită, ori de câte ori orice date sunt modificate sau modificate, Angular va rula detectorul de modificări pentru a actualiza DOM.
Cum detectează Angular detectarea schimbărilor?
Pentru a rula manual detectorul de modificări:
- Injectați serviciul ChangeDetectorRef în componentă.
- Folosiți markForCheck în metoda de abonare pentru a-i instrui pe Angular să verifice componenta data viitoare când detectoarele de schimbare rulează.
- Pe ngOnDestroy ciclul de viață, dezabonați-vă de la observabil.
Ce este ciclul de detectare a schimbării în Angular?
În timpul detectării modificărilor Angular rulează peste legături, evaluează expresiile, le compară cu valorile anterioare și actualizează DOM-ul dacă este necesar. După fiecare ciclu de detectare a modificării, Angular execută o verificare pentru a se asigura că starea componentei este sincronizată cu interfața cu utilizatorul.
Ce este detectarea modificării Angular onPush?
Strategia OnPush modifică comportamentul de detectare a modificărilor Angular într-un mod similar cu detașarea unei componente. Detectarea modificărilor nu mai rulează automat pentru fiecare componentă. Angular în schimb ascultă anumite modificări și rulează numai detectarea modificărilor pe un subarboresc pentru acea componentă.
Ce este strategia de detectare a schimbărilor?
Mecanismul de bază al detectării modificării este toefectuați verificări împotriva a două stări, una este starea curentă, ceal altă este starea nouă. Dacă una dintre aceste stări este diferită de ceal altă, atunci ceva s-a schimbat, ceea ce înseamnă că trebuie să actualizăm (sau să redăm din nou) vizualizarea.