Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 12922|Răspunde: 0

[ionic] Evenimente ale ciclului de viață al paginii Ionic3 (Hooks)

[Copiază linkul]
Postat pe 21.06.2018 10:30:06 | | | |
Din experiența mea, majoritatea studenților cunosc acest concept. Dacă nu știi prea multe, atunci trebuie să știi că browserul va declanșa un eveniment onload când o pagină web este încărcată, iar noi de obicei folosim metoda $(document).load() în windows.onload sau jquery pentru a defini ce ar trebui să facă o pagină web când este încărcată.



Într-o aplicație, acest tip de eveniment este mai bogat. De multe ori, trebuie să faci ceva pentru utilizatori înainte să vadă pagina, cel mai frecvent este extragerea datelor de pe server; Sau să facă ceva când sunt pe punctul de a părăsi o pagină.

1. Înțelegerea cârligului ionic al ciclului de viață
Începând cu Ionic 3.8.0, cadrul oferă 8 funcții hook care sunt declanșate în diferite etape ale ciclului de viață al paginii.

1.1 ionViewDidLoad
Declanșatorul completării încărcării paginii, aici "încărcare completă" se referă la starea paginii în care resursele necesare au fost încărcate, dar nu au intrat încă în starea paginii (utilizatorul încă vede pagina anterioară).

Trebuie menționat că este un cârlig foarte arogant, care va fi chemat o singură dată pe tot parcursul procesului, adică este chemat când intri pentru prima dată pe pagină și după aceea, indiferent cum intri și ieși, va fi pustiu și nefericit. Cu excepția cazului în care îi oprești fundalul și reintri în software (este în regulă să apeși refresh în timp ce depanezi pagina web).

Prin urmare, acest hook este potrivit pentru a face o procesare unică, cum ar fi extragerea datelor utilizatorului de pe server și stocarea lor în cache.

1.2 ionViewWillEnter
Înțelegerea literală este momentul în care "vin", când pagina începe pur și simplu să se schimbe. Poți preprocesa datele paginii în acest moment, iar acest hook va fi apelat de fiecare dată.

1.3 ionViewDidEnter
Când acest hook este declanșat, utilizatorul a intrat într-o pagină nouă (pagina este activă) și aceasta va fi apelată de fiecare dată.

Apropo de asta, trebuie să intervin: denumirea hook-urilor de către ionic este foarte prietenoasă pentru majoritatea studenților chinezi, iar unul va rezolva problema. Spre deosebire de unele cadre glamuroase (greșite) de afară, există o mulțime de pregătite, actualizare, conforme, destory, etc., îți amintești o dată și uiți o dată. (Desigur, este o glumă, denumirea componentelor este strâns legată de mecanismul de funcționare al cadrului)

1.4 ionViewWillLeave
Page Ready (este pe cale să se declanșeze) este declanșat când utilizatorul tocmai a declanșat butonul înapoi sau evenimentul conex.

1.5 ionViewDidLeave
Se declanșează când pagina s-a terminat, pagina devine inactivă.

1.6 ionViewWillUnload
Se declanșează când o resursă dintr-o pagină este pe punctul de a fi distrusă, ai ghici că acest hook, la fel ca ionViewDidLoad, va fi declanșat o singură dată?

1.7 Testare
Să luăm pagina creată în secțiunea anterioară și să testăm încărcarea cârligului.
În secțiunea anterioară, am implementat procesul de a sări de la HomePage la TestPage folosind butoane, iar acum adăugăm cele șase hook-uri de mai sus la TestPage și observăm invocarea lor prin consolă.

Codul secțiunii temei paginii este următorul

Rețineți că am adăugat și o instrucțiune de test la constructor. Deschide depanarea serviciului, apasă butonul, mergi la TestPage și observă ce oferă consola.


Prima dată pe pagină

Întoarce-te la pagina principală și observă ce oferă consola.

Părăsirea paginii pentru prima dată

Intră și ieși din nou din pagina de test și observă ce afișează consola.

A doua intrare și ieșire

Se pot trage următoarele concluzii:

  • Constructorul este pornit înainte de ionViewDidLoad
  • ionViewDidLoad pornește doar când intri prima dată pe pagină
  • ionViewWillUnload este declanșat de fiecare dată când părăsești pagina


2. Există și două cârlige de protecție

Am menționat la început că ionic oferă 8 cârlige, în timp ce eu am introdus doar 6. Primele 6 cârlige au o componentă comună, iar valorile lor de returnare sunt toate nule, adică sunt chemate în momentul corespunzător și nu returnează nicio informație.

Celelalte două cârlige sunt puțin diferite, sunt ionViewCanEnter și ionViewCanLeave, care pot returna booleani.
Uite, tocmai am vorbit despre timpuri verbale, iar acum o să vorbesc despre verbele modale. Dacă primele 6 cârlige sunt un răspuns pasiv al paginii la vizita utilizatorului, atunci acum, pagina are conștiința să-ți permită să vii sau să pleci, ah, pagina s-a ridicat de acum înainte!

Aceste două cârlige joacă un rol mai important în controlul autorității, iar recent există un termen foarte la modă numit Paznic, cum să înțelegi acest paznic, îl poți înțelege ca pe portarul comunității, directorul amabil și bătrânul ocoliu 2333 cu mii de posturi în vechea clădire cu flori de caise.

Acum că știm deja că returnează o valoare booleană, hai să încercăm. Pentru că nu există logică de business în programul nostru, să folosim un API temporal pentru a judeca aici


Accesul la pagină este blocat


În mod similar, dacă vrei să lași o pagină, dacă ionViewCanLeave returnează fals, vei fi blocat.


Operațiunea de întoarcere este interceptată


Informații tipărite pe consolă

3 Rezumat

Ahem, gata cu prostiile, ca să rezum, Ionic are următoarele cârlige de ciclu de viață

  • ionViewDidLoad este numit prima dată pentru a returna void
  • ionViewWillEnter returnează "void" de fiecare dată când este apelat
  • ionViewDidEnter returnează void de fiecare dată când este apelat
  • ionViewWillLeave returnează anulare de fiecare dată când este chemat
  • ionViewDidLeave returnează void de fiecare dată când este chemat
  • ionViewWillUnload returnează void de fiecare dată când este apelat
  • ionViewCanEnter returnează boolean de fiecare dată când este apelat
  • ionViewCanLeave returnează boolean de fiecare dată când este apelat






Precedent:Practica aplicației Android pentru dezvoltarea ionic (3): Listă video de știri
Următor:Furnizor Ionic3
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com