Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 12922|Atbildi: 0

[jonu] ionic3 lapas dzīves cikla notikumi (āķi)

[Kopēt saiti]
Publicēts 21.06.2018 10:30:06 | | | |
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






Iepriekšējo:Jonu izstrādes Android lietotņu prakse (3): ziņu video saraksts
Nākamo:ionic3 pakalpojumu sniedzējs
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com