Mano patirtis rodo, kad dauguma studentų žino šią sąvoką. Jei daug nežinote, turite žinoti, kad naršyklė suaktyvins įkėlimo įvykį, kai tinklalapis bus įkeltas, ir mes paprastai naudojame $(document).load() metodą window.onload arba jquery, kad nustatytume, ką tinklalapis turėtų daryti, kai jis įkeliamas.
APP tokio pobūdžio renginiai yra turtingesni. Daug kartų turite ką nors padaryti dėl vartotojų, kol jie nepamatys puslapio, dažniausiai jie gauna duomenis iš serverio; Arba ką nors daryti, kai jie ruošiasi išeiti iš puslapio.
1. Supraskite jonų gyvavimo ciklo kabliuką Nuo "Ionic 3.8.0" sistema suteikia 8 kabliuko funkcijas, kurios suaktyvinamos įvairiuose puslapio gyvavimo ciklo etapuose.
1.1 ionViewDidLoad Puslapio įkėlimo užbaigimo paleidiklis, čia "įkelti baigtas" reiškia puslapio būseną, kad reikalingi ištekliai buvo įkelti, bet dar neįėjo į puslapio būseną (vartotojas vis dar mato ankstesnį puslapį).
Reikėtų pažymėti, kad tai labai arogantiškas kabliukas, kuris bus vadinamas tik vieną kartą visame procese, tai yra, jis vadinamas pirmą kartą įėjus į puslapį, o po to, nesvarbu, kaip įeisite ir išeisite, jis bus apleistas ir apgailėtinas. Nebent nužudysite jo foną ir iš naujo įveskite programinę įrangą (taip pat gerai paspausti atnaujinti derinant tinklalapį).
Todėl šis kabliukas tinka atlikti vienkartinį apdorojimą, pvz., ištraukti vartotojo duomenis iš serverio ir saugoti juos talpykloje.
1.2 ionViewWillEnter Pažodinis supratimas yra momentas "Aš ateinu", kai puslapis tiesiog pradeda keistis. Šiuo metu galite iš anksto apdoroti puslapio duomenis ir šis kabliukas bus iškviestas kiekvieną kartą.
1.3 ionViewDidEnter Suveikus šiam kabliukui, vartotojas įėjo į naują puslapį (puslapis aktyvus) ir jis bus iškviestas kiekvieną kartą.
Kalbant apie tai, turiu įsiterpti, ionic kabliukų pavadinimas yra tikrai draugiškas daugumai Kinijos studentų, ir vienas ir vienas išspręs problemą. Skirtingai nuo kai kurių spalvingų (neteisingų) sistemų išorėje, yra krūva paruoštų, atnaujinti, atitikti, destory ir tt, prisiminti vieną kartą ir pamiršti vieną kartą. (Žinoma, tai pokštas, komponentų pavadinimai yra glaudžiai susiję su sistemos veikimo mechanizmu)
1.4 ionViewWillLeave Puslapis paruoštas (ruošiasi) suaktyvinamas, kai vartotojas ką tik suaktyvina mygtuką "Atgal" arba susijusį įvykį.
1.5 ionViewDidLeave Suaktyvinamas baigus puslapį, puslapis neaktyvus.
1.6 ionViewBusIškrauti Suveikia, kai išteklius puslapyje yra apie būti sunaikintas, ar atspėtumėte, kad šis kabliukas, kaip ionViewDidLoad, bus suaktyvintas tik vieną kartą?
1.7 Testavimas Paimkime puslapį, kurį sukūrėme ankstesniame skyriuje, ir atlikime kabliuko pakrovimo testą. Ankstesniame skyriuje įdiegėme perėjimo iš pagrindinio puslapio į "TestPage" procesą naudodami mygtukus, o dabar pridedame aukščiau nurodytus šešis kabliukus prie "TestPage" ir stebime jų iškvietimą per konsolę.
Puslapio temos skyriaus kodas yra toks
Atkreipkite dėmesį, kad aš taip pat pridėjo bandymo pareiškimą konstruktorius. Atidarykite "Serve" derinimą, spustelėkite mygtuką, eikite į "TestPage" ir stebėkite, ką išveda konsolė.
Pirmą kartą puslapyje
Grįžkite į pagrindinį puslapį ir stebėkite, ką rodo konsolė.
Išėjimas iš puslapio pirmą kartą
Dar kartą įeikite ir išeikite iš "TestPage" ir stebėkite, ką išveda konsolė.
Antrasis įvažiavimas ir išvažiavimas
Galima padaryti šias išvadas:
- Konstruktorius atleidžiamas prieš ionViewDidLoad
- ionViewDidLoad suveikia tik pirmą kartą įėjus į puslapį
- ionViewWillUnload suaktyvinamas kiekvieną kartą išeinant iš puslapio
2. Taip pat yra du apsauginiai kabliukai
Pradžioje minėjau, kad ionic siūlo 8 kabliukus, o aš pristatiau tik 6. Pirmieji 6 kabliukai turi bendrumą, o jų grąžinimo vertės yra tuščios, tai yra, jie iškviečiami atitinkamu momentu ir negrąžina jokios informacijos.
Kiti du kabliukai yra šiek tiek skirtingi, jie yra ionViewCanEnter ir ionViewCanLeave, kurie gali grąžinti Bulio logiką. Klausyk, aš ką tik kalbėjau apie laikus, o dabar kalbėsiu apie modalinius veiksmažodžius. Jei pirmieji 6 kabliukai yra pasyvus puslapio atsakas į vartotojo apsilankymą, tai dabar puslapis turi sąmonę, leidžiančią jums ateiti arba leisti eiti, ah, puslapis nuo šiol atsistojo!
Šie du kabliukai vaidina didesnį vaidmenį valdžios kontrolėje, o pastaruoju metu yra labai madingas terminas, vadinamas sargybiniu, kaip suprasti šį sargybinį, galite suprasti jį kaip bendruomenės vartų sargybinį, mielą direktorių ir seną biustą 2333 su tūkstančiais pozų senoviniame abrikosų žiedų pastate.
Dabar, kai jau žinome, kad jis pateikia loginę reikšmę, pabandykime. Kadangi mūsų programoje nėra verslo logikos, naudokime laiko API, kad spręstume čia
Prieiga prie puslapio užblokuota
Panašiai, jei norite palikti puslapį, jei ionViewCanLeave grąžins klaidingą, būsite užblokuoti.
Grąžinimo operacija perimta
Konsolės spausdinta informacija
3 Santrauka
Ahem, daugiau jokių nesąmonių, apibendrinant, "Ionic" turi šiuos gyvavimo ciklo kabliukus
- ionViewDidLoad vadinamas pirmą kartą grąžinti void
- ionViewWillEnter grąžina void kiekvieną kartą, kai jis iškviečiamas
- ionViewDidEnter grąžina void kiekvieną kartą, kai jis iškviečiamas
- ionViewWillLeave grąžina void kiekvieną kartą, kai jis iškviečiamas
- ionViewDidLeave grąžina void kiekvieną kartą, kai jis iškviečiamas
- ionViewWillUnload grąžina void kiekvieną kartą, kai jis iškviečiamas
- ionViewCanEnter grąžina loginį kiekvieną kartą, kai jis iškviečiamas
- ionViewCanLeave grąžina loginį kiekvieną kartą, kai jis iškviečiamas
|