0

AngularJS offizielle Dokumentation lieferte die folgenden Informationen in dieser Hinsicht.


$ doCheck() - Wird bei jeder Runde des Digest-Zyklus aufgerufen. Bietet die Möglichkeit, Änderungen zu erkennen und darauf zu reagieren. Alle Aktionen, die Sie als Reaktion auf die von Ihnen erkannten Änderungen ausführen möchten, müssen von diesem Hook aufgerufen werden. Dies hat keine Auswirkungen auf den Aufruf von $ onChanges. Dieser Hook könnte beispielsweise nützlich sein, wenn Sie eine tiefe Gleichheitsprüfung durchführen oder ein Date-Objekt überprüfen möchten, dessen Änderungen von Angulars Änderungsdetektor nicht erkannt werden und somit $ onChanges nicht auslöst. Dieser Hook wird ohne Argumente aufgerufen. Wenn Änderungen festgestellt werden, müssen Sie die vorherigen Werte für den Vergleich mit den aktuellen Werten speichern.


Ich habe auf dem Netz erforscht, konnte aber keine Informationen finden damit zusammen, wie onChanges $ Aufruf werden die Anrufe auf $ doCheck nichtig macht. Jemand bitte geben Sie weitere Informationen.

+0

Wie gehen Sie davon aus, dass das Aufrufen von $ onChanges $ doCheck aus dieser Dokumentation ungültig macht. Sie scheinen zwei getrennte Haken zu sein. – dreamerkumar

Antwort

1

Die $ onChanges und $ doCheck-Hooks können problemlos Seite an Seite leben. Der $ doCheck-Haken wirkt sich nicht auf den $ onChanges-Haken aus. Natürlich müssen Felder, die im $ doCheck-Hook überprüft wurden, nicht mehr im $ onChanges-Hook behandelt werden. In eckigen 2 wird sogar empfohlen, diese 2 Haken nicht zusammen zu verwenden.