In caso di rilevamento del cambiamento angolare?

Sommario:

In caso di rilevamento del cambiamento angolare?
In caso di rilevamento del cambiamento angolare?
Anonim

Rilevamento modifiche significa aggiornare il DOM ogni volta che i dati vengono modificati. Angular fornisce due strategie per il rilevamento delle modifiche. Nella sua strategia predefinita, ogni volta che un dato viene mutato o modificato, Angular eseguirà il rilevatore di modifiche per aggiornare il DOM.

In che modo Angular rileva il rilevamento delle modifiche?

Per eseguire manualmente il rilevatore di modifiche:

  1. Inietta il servizio ChangeDetectorRef nel componente.
  2. Utilizzare markForCheck nel metodo di abbonamento per indicare ad Angular di controllare il componente la prossima volta che si attiveranno i rilevatori di modifica.
  3. Sull'hook del ciclo di vita di ngOnDestroy, annulla l'iscrizione all'osservabile.

Cos'è il ciclo di rilevamento delle modifiche in Angular?

Durante il rilevamento delle modifiche Angular esegue oltre i collegamenti, valuta le espressioni, le confronta con i valori precedenti e, se necessario, aggiorna il DOM. Dopo ogni ciclo di rilevamento delle modifiche, Angular esegue un controllo per assicurarsi che lo stato del componente sia sincronizzato con l'interfaccia utente.

Cos'è Angular onPush change detection?

La strategia OnPush cambia il comportamento di rilevamento delle modifiche di Angular in modo simile al distacco di un componente. Il rilevamento delle modifiche non viene più eseguito automaticamente per ogni componente. Angular invece ascolta modifiche specifiche ed esegue il rilevamento delle modifiche solo su un sottoalbero per quel componente.

Cos'è la strategia di rilevamento delle modifiche?

Il meccanismo di base del rilevamento delle modifiche è da aeseguire controlli su due stati, uno è lo stato attuale, l' altro è il nuovo stato. Se uno di questi stati è diverso dall' altro, allora qualcosa è cambiato, il che significa che dobbiamo aggiornare (o renderizzare nuovamente) la vista.

Consigliato: