Manā pieredzē lielākā daļa studentu zina šo jēdzienu. Ja jūs daudz nezināt, tad jums jāzina, ka pārlūkprogramma aktivizēs onload notikumu, kad tīmekļa lapa tiek ielādēta, un mēs parasti izmantojam $(document).load() metodi window.onload vai jquery, lai definētu, kas tīmekļa lapai jādara, kad tā ir ielādēta.
APP šāda veida notikumi ir bagātāki. Daudzas reizes jums kaut kas jādara lietotājiem, pirms viņi redz lapu, visbiežāk ir datu izvilkšana no servera; Vai arī darīt kaut ko, kad viņi gatavojas pamest lapu.
1. Izprotiet jonu dzīves cikla āķi Sākot ar Ionic 3.8.0, sistēma nodrošina 8 āķa funkcijas, kas tiek aktivizētas dažādos lapas dzīves cikla posmos.
1.1 ionViewDidLoad Lapas ielādes pabeigšanas trigeris šeit "ielāde pabeigta" attiecas uz lapas stāvokli, kad nepieciešamie resursi ir ielādēti, bet vēl nav ievadīti lapas stāvoklī (lietotājs joprojām redz iepriekšējo lapu).
Jāatzīmē, ka tas ir ļoti augstprātīgs āķis, kas tiks saukts tikai vienu reizi visā procesā, tas ir, tas tiek saukts, kad pirmo reizi ieejat lapā, un pēc tam, neatkarīgi no tā, kā jūs ieejat un izejat, tas būs pamests un nožēlojams. Ja vien jūs nenogalināsiet tā fonu un atkārtoti ievadāt programmatūru (ir arī labi nospiest atsvaidzināt, atkļūdojot tīmekļa lapu).
Tāpēc šis āķis ir piemērots, lai veiktu vienreizēju apstrādi, piemēram, lietotāja datu izvilkšanu no servera un glabāšanu kešatmiņā.
1.2 ionViewWillEnter Burtiskā izpratne ir brīdis "Es ienāku", kad lapa vienkārši sāk pārslēgties. Šajā brīdī varat iepriekš apstrādāt lapas datus, un šis āķis tiks izsaukts katru reizi.
1.3 ionViewDidEnter Kad šis āķis tiek aktivizēts, lietotājs ir ievadījis jaunu lapu (lapa ir aktīva), un tas tiks izsaukts katru reizi.
Runājot par to, man ir jāiejaucas, jonu āķu nosaukšana ir patiešām draudzīga lielākajai daļai ķīniešu studentu, un viens un viens atrisinās problēmu. Atšķirībā no dažiem krāšņiem (nepareiziem) ietvariem ārpusē, ir virkne gatavu, atjauninātu, izpildītu, destory, utt., atcerēties vienu reizi un aizmirst vienu reizi. (Protams, tas ir joks, komponentu nosaukšana ir cieši saistīta ar sistēmas darbības mehānismu)
1.4 ionViewWillLeave Lapa gatava (drīzumā būs) tiek aktivizēta, kad lietotājs tikko aktivizē pogu Atpakaļ vai saistītu notikumu.
1.5 ionViewDidLeave Aktivizēts, kad lapa ir pabeigta, lapa ir neaktīva.
1.6 ionViewWillUnload Trigeri, kad lapas resurss tiks iznīcināts, vai jūs uzminētu, ka šis āķis, piemēram, ionViewDidLoad, tiks aktivizēts tikai vienu reizi?
1.7 Testēšana Paņemsim lapu, ko izveidojām iepriekšējā sadaļā, un veiksim āķa ielādes pārbaudi. Iepriekšējā sadaļā mēs īstenojām procesu, pārejot no mājas lapas uz TestPage, izmantojot pogas, un tagad mēs pievienojam iepriekš minētos sešus āķus TestPage un novērojam to izsaukšanu caur konsoli.
Lapas tēmas sadaļas kods ir šāds
Ņemiet vērā, ka konstruktoram pievienoju arī testa paziņojumu. Atveriet Serve atkļūdošanu, noklikšķiniet uz pogas, dodieties uz TestPage un novērojiet, ko konsole izvada.
Pirmo reizi lapā
Atgriezieties sākumlapā un vērojiet, ko konsole izvada.
Lapas atstāšana pirmo reizi
Vēlreiz ievadiet un izejiet no TestPage un vērojiet, ko konsole izvada.
Otrā iebraukšana un izbraukšana
Var izdarīt šādus secinājumus:
- Konstruktors tiek atlaists pirms ionViewDidLoad
- ionViewDidLoad tiek aktivizēts tikai tad, kad pirmo reizi ieejat lapā
- ionViewWillUnload tiek aktivizēts pēc katras lapas iziešanas
2. Ir arī divi aizsargāķi
Sākumā minēju, ka ionic piedāvā 8 āķus, bet es ieviesu tikai 6. Pirmajiem 6 āķiem ir kopīga, un to atgriešanās vērtības ir tukšas, tas ir, tās tiek izsauktas attiecīgajā brīdī un neatgriež nekādu informāciju.
Pārējie divi āķi ir nedaudz atšķirīgi, tie ir ionViewCanEnter un ionViewCanLeave, kas var atgriezt būlus. Paskatieties, es tikko runāju par laikiem, un tagad es runāšu par modālajiem darbības vārdiem. Ja pirmie 6 āķi ir pasīva lapas reakcija uz lietotāja apmeklējumu, tad tagad lapai ir apziņa, lai ļautu jums nākt vai ļaut jums iet, ak, lapa ir stāvējusi no šī brīža!
Šiem diviem āķiem ir lielāka loma varas kontrolē, un nesen ir ļoti moderns termins, ko sauc par apsardzi, kā saprast šo apsardzi, jūs varat to saprast kā kopienas vārtsargu, mīļo skolotāju un veco krūšu 2333 ar tūkstošiem pozu senajā aprikožu ziedu ēkā.
Tagad, kad mēs jau zinām, ka tas atgriež Būla vērtību, izmēģināsim. Tā kā mūsu programmā nav biznesa loģikas, izmantosim laika API, lai spriestu šeit
Piekļuve lapai ir bloķēta
Tāpat, ja vēlaties atstāt lapā, ja ionViewCanLeave atgriež nepatiesu, jūs tiksiet bloķēts.
Atgriešanas operācija tiek pārtverta
Konsoles drukātā informācija
3 Kopsavilkums
Ahem, vairs nav muļķības, apkopojot, Ionic ir šādi dzīves cikla āķi
- ionViewDidLoad tiek izsaukts pirmo reizi, kad tiek atgriezts anulēts
- ionViewWillEnter atgriež anulu katru reizi, kad tas tiek izsaukts
- ionViewDidEnter atgriež anulu katru reizi, kad tas tiek izsaukts
- ionViewWillLeave atgriež anulu katru reizi, kad tas tiek izsaukts
- ionViewDidLeave atgriež anulu katru reizi, kad tas tiek izsaukts
- ionViewWillUnload atgriež anulu katru reizi, kad tas tiek izsaukts
- ionViewCanEnter atgriež Būla katru reizi, kad tas tiek izsaukts
- ionViewCanLeave atgriež Būla katru reizi, kad tas tiek izsaukts
|