Σε γωνιακή ανίχνευση αλλαγών;

Πίνακας περιεχομένων:

Σε γωνιακή ανίχνευση αλλαγών;
Σε γωνιακή ανίχνευση αλλαγών;
Anonim

Ανίχνευση αλλαγής σημαίνει ενημέρωση του DOM κάθε φορά που αλλάζουν δεδομένα. Το Angular παρέχει δύο στρατηγικές για τον εντοπισμό αλλαγών. Στην προεπιλεγμένη στρατηγική του, κάθε φορά που κάποια δεδομένα μεταλλάσσονται ή αλλάζουν, το Angular θα εκτελεί τον ανιχνευτή αλλαγών για να ενημερώσει το DOM.

Πώς εντοπίζει το Angular τον εντοπισμό αλλαγών;

Για χειροκίνητη εκτέλεση του ανιχνευτή αλλαγών:

  1. Inject ChangeDetectorRef υπηρεσία στο στοιχείο.
  2. Χρησιμοποιήστε το markForCheck στη μέθοδο συνδρομής για να δώσετε εντολή στην Angular να ελέγξει το στοιχείο την επόμενη φορά που θα τρέξουν οι ανιχνευτές αλλαγής.
  3. Στο γάντζο του κύκλου ζωής ngOnDestroy, καταργήστε την εγγραφή σας από το παρατηρήσιμο.

Τι είναι ο κύκλος ανίχνευσης αλλαγών στο Angular;

Κατά την ανίχνευση αλλαγών, το Angular εκτελείται πάνω από τις συνδέσεις, αξιολογεί παραστάσεις, τις συγκρίνει με τις προηγούμενες τιμές και ενημερώνει το DOM εάν είναι απαραίτητο. Μετά από κάθε κύκλο ανίχνευσης αλλαγών, το Angular εκτελεί έναν έλεγχο για να διασφαλίσει ότι η κατάσταση του στοιχείου είναι συγχρονισμένη με τη διεπαφή χρήστη.

Τι είναι ο εντοπισμός αλλαγών Angular onPush;

Η στρατηγική OnPush αλλάζει τη συμπεριφορά ανίχνευσης αλλαγών του Angular με παρόμοιο τρόπο όπως η αποσύνδεση ενός στοιχείου. Ο εντοπισμός αλλαγών δεν εκτελείται πλέον αυτόματα για κάθε στοιχείο. Το Angular αντί ακούει συγκεκριμένες αλλαγές και εκτελεί μόνο τον εντοπισμό αλλαγών σε ένα υποδέντρο για αυτό το στοιχείο.

Τι είναι η στρατηγική ανίχνευσης αλλαγών;

Ο βασικός μηχανισμός ανίχνευσης αλλαγών είναι toπραγματοποιήστε ελέγχους σε δύο καταστάσεις, η μία είναι η τρέχουσα κατάσταση, η άλλη είναι η νέα κατάσταση. Εάν η μία από αυτήν την κατάσταση είναι διαφορετική από την άλλη, τότε κάτι έχει αλλάξει, που σημαίνει ότι πρέπει να ενημερώσουμε (ή να αποδώσουμε ξανά) την προβολή.

Συνιστάται: