Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 12922|Svare: 0

[ionisk] Ionic3 side livssyklushendelser (kroker)

[Kopier lenke]
Publisert på 21.06.2018 10:30:06 | | | |
Etter min erfaring kjenner de fleste studenter dette konseptet. Hvis du ikke vet mye, må du vite at nettleseren vil utløse en onload-hendelse når en nettside lastes inn, og vi bruker vanligvis $(document).load()-metoden i window.onload eller jquery for å definere hva en nettside skal gjøre når den lastes inn.



I en APP er denne typen arrangement rikere. Mange ganger må du gjøre noe for brukerne før de ser siden, det vanligste er å hente data fra serveren; Eller gjør noe når de er i ferd med å forlate en side.

1. Forstå den ioniske livssykluskroken
Fra og med Ionic 3.8.0 tilbyr rammeverket 8 hook-funksjoner som utløses på ulike stadier av sidelivssyklusen.

1.1 ionViewDidLoad
Triggeren for sideinnlastingsfullføring, her refererer «last fullført» til tilstanden til siden der de nødvendige ressursene er lastet inn, men ennå ikke har gått inn i sidens tilstand (brukeren ser fortsatt forrige side).

Det bør bemerkes at det er en svært arrogant krok, som bare vil bli kalt én gang i hele prosessen, det vil si at den blir kalt når du går inn på siden for første gang, og etter det, uansett hvordan du går inn og ut, vil den være øde og elendig. Med mindre du slår av bakgrunnen og går inn i programvaren på nytt (det er også greit å trykke på oppdater mens du feilsøker nettsiden).

Derfor er denne kroken egnet for deg til å utføre engangsprosesser, som å hente brukerdata fra serveren og lagre dem i cachen.

1.2 ionViewWillEnter
Den bokstavelige forståelsen er øyeblikket «jeg kommer inn», når siden bare begynner å bytte. Du kan forhåndsbehandle sidens data på dette tidspunktet, og denne hooken vil bli kalt hver gang.

1.3 ionViewDidEnter
Når denne kroken utløses, har brukeren lagt inn en ny side (siden er aktiv), og den vil bli kalt hver gang.

Når vi snakker om dette, må jeg si at Ionics navngivning av kroker er veldig vennlig for flertallet av kinesiske studenter, og én vil og én LØSTE problemet. I motsetning til noen glamorøse (feil) rammeverk utenfor, finnes det mange klare, oppdaterte, overholdte, destory, osv., huske én gang og glemme én gang. (Selvfølgelig er dette en spøk, navngivningen av komponentene er nært knyttet til driftsmekanismen i rammeverket)

1.4 ionViewWillLeave
Page Ready (er i ferd med å gjøre det) utløses når brukeren nettopp har aktivert tilbakeknappen eller en relatert hendelse.

1,5 ionViewDidLeave
Utløst når siden er ferdig, er siden inaktiv.

1,6 ionViewWillUnload
Triggere når en ressurs på en side er i ferd med å bli ødelagt, ville du tro at denne kroken, som ionViewDidLoad, bare vil bli utløst én gang?

1.7 Testing
La oss ta siden vi laget i forrige seksjon og teste hvordan kroken lastes.
I forrige avsnitt implementerte vi prosessen med å hoppe fra HomePage til TestPage ved hjelp av knapper, og nå legger vi til de seks hookene ovenfor til TestPage og observerer deres påkalling gjennom konsollen.

Seksjonskoden for sidetemaet er som følger

Merk at jeg også la til en testsetning i konstruktøren. Åpne Serve-feilsøking, klikk på knappen, gå til TestPage, og observer hva konsollen leverer.


Første gang på siden

Gå tilbake til startsiden og se hva konsollen sender ut.

Å forlate siden for første gang

Gå inn og ut av TestPage igjen og observer hva konsollen sender ut.

Andre inn- og utgang

Følgende konklusjoner kan trekkes:

  • Konstruktøren avfyres før ionViewDidLoad
  • ionViewDidLoad aktiveres bare når du først går inn på siden
  • ionViewWillUnload utløses hver gang du forlater siden


2. Det finnes også to guard hooks

Jeg nevnte i begynnelsen at Ionic tilbyr 8 kroker, mens jeg bare introduserte 6. De første 6 hookene har en felles egenskap, og returverdiene deres er alle void, det vil si at de kalles på tilsvarende tidspunkt og ikke returnerer noen informasjon.

De to andre krokene er litt forskjellige, de er ionViewCanEnter og ionViewCanLeave, som kan returnere boolske.
Se, jeg snakket nettopp om tider, og nå skal jeg snakke om modale verb. Hvis de første 6 krokene er en passiv respons fra siden på brukerens besøk, så har siden nå bevisstheten til å la deg komme eller la deg gå, ah, siden har stått oppe fra nå av!

Disse to krokene spiller en større rolle i autoritetskontroll, og nylig finnes det et veldig trendy begrep kalt Vakt, hvordan forstå denne vakten, du kan forstå den som portvokter i samfunnet, den vennlige rektoren, og den gamle trappen 2333 med tusenvis av positurer i den gamle aprikosblomstbygningen.

Nå som vi allerede vet at den returnerer en boolsk verdi, la oss prøve. Siden det ikke finnes noen forretningslogikk i programmet vårt, la oss bruke et tids-API for å vurdere her


Tilgangen til siden er blokkert


På samme måte, hvis du vil la være på en side, hvis ionViewCanLeave returnerer false, vil du bli blokkert.


Returoperasjonen blir avlyttet


Konsolltrykt informasjon

3 Sammendrag

Ahem, ikke mer tull, for å oppsummere har Ionic følgende livssykluskroker

  • ionViewDidLoad kalles første gang for å returnere void
  • ionViewWillEnter returnerer void hver gang den kalles
  • ionViewDidEnter returnerer void hver gang den kalles
  • ionViewWillLeave returnerer ugyldig hver gang den kalles
  • ionViewDidLeave returnerer void hver gang den kalles
  • ionViewWillUnload returnerer void hver gang den kalles
  • ionViewCanEnter returnerer boolsk hver gang den kalles
  • ionViewCanLeave returnerer boolsk hver gang den kalles






Foregående:Ionisk utvikling Android App Practice (3): Nyheter Videoliste
Neste:Ionic3-leverandør
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com