Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 12922|Atsakyti: 0

[joninis] ionic3 puslapio gyvavimo ciklo įvykiai (kabliukai)

[Kopijuoti nuorodą]
Paskelbta 2018-06-21 10:30:06 | | | |
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






Ankstesnis:Jonų kūrimo "Android" programų praktika (3): naujienų vaizdo įrašų sąrašas
Kitą:ionic3 teikėjas
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com