Eckig erreichenZunächst muss nicht viel über die Implementierungsmethode gesagt werden. Die Verwendung der Hook-Funktion erfordert die Implementierung der entsprechenden Schnittstelle bei der Definition Exportklasse ListPage implementiert OnInit { Konstruktor() {} ngOnInit() { // Code hier } } Aufrufreihenfolge1.Konstruktor Als erstes wird der Konstruktor ausgeführt. Wenn der Konstruktor ausgeführt wird, sind viele Variablen wie @Input und @ViewChild nicht vorhanden. Es ist am besten, verwandte Operationen in ngOnInit zu schreiben. 2. ngOnChanges Es wird ausgelöst, wenn sich der Bindungswert der aktuellen Komponente @Input/@Output ändert. 3. ngOnInit Wird aufgerufen, nachdem der erste ngOnChanges abgeschlossen ist. Es wird nur einmal ausgeführt. 4. ngDoCheck Vom Entwickler definierte Änderungserkennung. 5. ngAfterContentInit Wird einmal ausgeführt, wenn der Komponenteninhalt initialisiert wird 6. ngAfterContentChecked Der auf die Komponente projizierte Inhalt wird nach jedem ngDoCheck-Aufruf ausgelöst. 7. ngAfterViewInit Wird einmal ausgeführt, wenn die Komponente und ihre Unterkomponentenansichten initialisiert werden 8. ngAfterViewChecked Wird nach jedem ngDoCheck-Aufruf einer Komponente und ihrer untergeordneten Ansichten ausgelöst. 9. ngOnDestroy Wird aufgerufen, bevor die Komponente zerstört wird. Beachten
IonischSie können auf den Link oben klicken, um das Originaldokument anzuzeigen. Ich werde die wichtigsten Punkte hervorheben. Der Lebenszyklus ist in der Abbildung dargestellt. Zusätzlich zum von Angular bereitgestellten Lebenszyklus fügt Ionic mehrere Ereignisse hinzu:
ionViewWillEnter wird nach ngOnInit ausgelöst und ionViewDidEnter wird ausgelöst, nachdem der Übergangseffekt des Seitenwechsels endet
ionViewWillLeave wird zuerst aufgerufen und ionViewDidLeave wird erst aufgerufen, wenn der Übergang zur neuen Seite erfolgreich ist (nachdem ionViewDidEnter für die neue Seite ausgelöst wurde). Komponenten, die ion-nav oder ion-router-outlet verwenden, sollten nicht die Änderungserkennungsstrategie OnPush verwenden, da diese dazu führt, dass Lebenszyklus-Hooks wie ngOnInit nicht ausgelöst werden. Darüber hinaus werden asynchron geänderte Daten möglicherweise nicht richtig wiedergegeben. Wie handhabt Ionic den Lebenszyklus einer Seite?Der von Ionic verwendete Routing-Outlet ist <ion-router-outlet />, der <router-outlet /> von Angular erweitert und auf Mobilgeräten für ein besseres Erlebnis sorgen kann. Wenn Sie von einer Seite zu einer neuen Seite springen, speichert Ionic die alte Seite im DOM und verbirgt sie vor der Ansicht. Dadurch kann der Status der vorherigen Seite, z. B. die Bildlaufposition und die Seitendaten, beibehalten werden, sodass Sie beim Zurückkehren von der neuen Seite zur vorherigen Seite diese nicht neu laden müssen und der Seitenübergang reibungsloser erfolgt. Die Seite wird erst zerstört, wenn sie den Stapel verlässt. Daher entspricht der Zeitpunkt der Auslösung von ngOnInit und ngOnDestroy möglicherweise nicht Ihren Vorstellungen.
RoutenwächterIonic 3 hatte früher zwei Hook-Funktionen, ionViewCanEnter und ionViewCanLeave, die verwendet wurden, um zu bestimmen, ob eine Seite betreten/verlassen werden konnte. Sie wurden im Allgemeinen verwendet, um Zugriffsrechte einzuschränken oder eine zweite Bestätigungsaufforderung anzuzeigen, bevor die Bearbeitungsseite verlassen wurde. Diese beiden Funktionen sind veraltet. Ionic 4 und höher verwenden den offiziellen Routing Guard von Angular. ZusammenfassenDies ist das Ende dieses Artikels über den Lebenszyklus und die Hook-Funktionen von Angular und Ionic. Weitere relevante Inhalte zum Lebenszyklus und den Hook-Funktionen von Angular und Ionic finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: So zeigen Sie Versionsinformationen in Linux an
>>: Tutorial zur Installation von MongoDB unter Linux
Erstellen Sie eine HTML-Seite mit einer ungeordnet...
Vorwort Manchmal stößt man auf Geschäftstabellen,...
Tomcat-Serverkonfiguration Jeder, der das Web ken...
1. Inline-Stile Um Inline-Stile zum virtuellen DO...
Dieser Artikel stellt häufige Probleme von Xshell...
Ich habe heute Abend ein Problem gelöst, das mich...
Vorwort 1. Benchmarking ist eine Art Leistungstes...
Auf einem Linux-Computer gibt es zwei Zeitzonen: ...
Vor Kurzem bereitete sich das Unternehmen auf die...
In diesem Artikel wird hauptsächlich der durch re...
Inhaltsverzeichnis Ursache des Vorfalls Verwenden...
Inhaltsverzeichnis 1. Vier Konzepte 1. JavaScript...
Es gibt viele MySQL-Variablen, von denen einige u...
Grafisches Tutorial zur Installation und Konfigur...
Inhaltsverzeichnis Einführung Indexierungsprinzip...