Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 12922|Válasz: 0

[ionikus] ionic3 oldal életciklus eseményei (hookok)

[Linket másol]
Közzétéve 2018. 06. 21. 10:30:06 | | | |
Tapasztalatom szerint a legtöbb diák ismeri ezt a fogalmat. Ha nem tudsz sokat, akkor tudnod kell, hogy a böngésző beindít egy betöltési eseményt, amikor egy weboldal betöltődik, és általában a $(document).load() módszert használjuk a window.onload vagy jquery formátumban annak meghatározására, hogy mit kell csinálnia egy weboldalnak, amikor betöltik.



Egy APP-ban az ilyen típusú események gazdagabbak. Sokszor a felhasználókért kell valamit tenni, mielőtt meglátják az oldalt, a leggyakoribb az adat lehúzása a szerverről; Vagy tegyenek valamit, amikor éppen el akarnak hagyni egy oldalt.

1. Értsd meg az ionikus életciklus horgát
Az Ionic 3.8.0-tól kezdve a keretrendszer 8 hook függvényt kínál, amelyek az oldal életciklusának különböző szakaszaiban aktiválódnak.

1.1 ionViewDidLoad
Az oldal betöltésének befejezésének kiváltója, itt "betöltés teljes" arra az állapotra utal, hogy az oldal olyan állapota van, amikor a szükséges erőforrásokat betöltették, de még nem léptek be az oldal állapotába (a felhasználó még mindig az előző oldalt látja).

Meg kell jegyezni, hogy ez egy nagyon arrogáns horog, amit az egész folyamat során csak egyszer fognak hívni, vagyis amikor először lépsz be az oldalra, és utána, bárhogyan is lépsz be vagy ki, elhagyatott és nyomorult lesz. Hacsak nem törted meg a háttért, és nem lépsz vissza a szoftverbe (az is rendben van, ha frissít gombot, miközben hibakeresést végezsz).

Ezért ez a hook alkalmas egyszeri feldolgozásra, például felhasználói adatok lehúzására a szerverről, és a gyorsítótárban tárolni.

1.2 ionViewWillEnter
A szó szerinti megértés az a pillanat, amikor "bejövök", amikor az oldal egyszerűen elkezd váltani. Ezen a ponton előre feldolgozhatod az oldal adatait, és ezt a hookot minden alkalommal meghívják.

1.3 ionViewDidEnter
Amikor ez a hook aktiválódik, a felhasználó új oldalra lép be (az oldal aktív), és minden alkalommal meghívják.

Erről szóba lépve, közbe kell vágnom, hogy az ionic horgok elnevezése nagyon barát a kínai diák többsége számára, és az egyik meg meg fogja oldani a problémát. Ellentétben néhány csillogó (rossz) keretrendszerrel kívül, van itt egy csomó kész, frissítő, beteljesített, destory, stb., egyszer emlékezz és egyszer felejtsd el. (Természetesen ez vicc, az összetevők elnevezése szorosan kapcsolódik a keretrendszer működési mechanizmusához)

1.4 ionViewLeaveLeave
A Page Ready (ami hamarosan készül) akkor aktiválódik, amikor a felhasználó épp most aktiválta a visszagombot vagy a kapcsolódó eseményt.

1.5 ionViewDidLeave
Az oldal befejezése után aktiválódik, az oldal inaktív.

1.6 ionViewWillUnload
Trigger, amikor egy oldalon lévő erőforrást megsemmisítenek, gondolod, hogy ez a hook, akárcsak az ionViewDidLoad, csak egyszer fog aktiválódni?

1.7 Tesztelés
Vegyük az előző szakaszban létrehozott oldalt, és teszteljük a hook betöltését.
Az előző részben bevezettük a gombokkal való ugrás folyamatát a kezdőlapról a tesztoldalra, és most hozzáadjuk a fenti hat hookot a TestPage-hez, és megfigyeljük a hívásukat a konzolon keresztül.

Az oldal témaszekció kódja a következő:

Fontos megjegyezni, hogy egy tesztutasítást is hozzáadtam a konstruktorhoz. Nyisd meg a Serve hibakeresést, kattints a gombra, menj a TestPage-re, és figyeld meg, mit ad a konzol.


Első alkalom az oldalon

Menj vissza a kezdőlapra, és figyeld meg, mit ad a konzol.

Először hagyni az oldalt

Lépj be és lépj ki a TestPage-en, és figyeld meg, mit ad a konzol.

Második belépés és kijárat

A következő következtetések levonhatók:

  • A konstruktor ionViewDidLoad előtt aktiválódik
  • ionViewDidLoad csak akkor indul, amikor először lépsz be az oldalra
  • ionViewWillUnload minden alkalommal aktiválódik, amikor elhagyod az oldalt


2. Két védőhorog is van

Az elején említettem, hogy az ionic 8 horgot kínál, míg én csak 6-ot vezettem be. Az első 6 horognak van közös vonása, és a visszaküldési értékük mind érvényesek, vagyis a megfelelő pillanatban hívják őket, és nem adnak vissza semmilyen információt.

A másik két hook kicsit eltérő, ezek az ionViewCanEnter és ionViewCanLeave, amelyek vissza tudnak adni a booleanokat.
Nézd, épp az időkről beszéltem, most pedig a modális igékről fogok beszélni. Ha az első 6 horog az oldal passzív válasza a felhasználó látogatására, akkor most az oldal tudatossággal rendelkezik, hogy engedjen vagy elmenj, ah, az oldal mostantól felállt!

Ez a két horog nagyobb szerepet játszik a hatalom irányításában, és mostanában létezik egy nagyon divatos kifejezés, amit Őrségnek hívnak, hogyan értsd ezt az őrséget, a közösség kapuőrének, kedves igazgatónak és az öreg 2333-as alaknak az ősi sárgabarackvirág-épületben több ezer pózban áll.

Most, hogy már tudjuk, hogy boolean értéket ad vissza, próbáljuk ki. Mivel nincs üzleti logika a programunkban, használjunk egy időalapú API-t az ítélethozatalra


Az oldalhoz való hozzáférés blokkolva van


Hasonlóképpen, ha egy oldalon szeretnél maradni, és ha az ionViewCanLeave hamisat visszaad, akkor blokkolni fognak.


A visszaküldési műveletet elfogják


Konzolon nyomtatott információk

3 Összefoglaló

Khm, nem több hülyeség, összefoglalva, az Ionic a következő életciklus-horgokkal rendelkezik

  • ionViewDidLoad először hívják vissza void-et
  • ionViewWillEnter minden alkalommal visszaadja a void-ot, amikor hívják
  • ionViewDidEnter minden alkalommal adja vissza a void-ot, amikor hívják
  • ionViewWillLeave minden alkalommal visszaadja a semmit, amikor hívják
  • ionViewDidLeave minden alkalommal visszaadja a void-ot, amikor hívják.
  • ionViewWillUnload minden alkalommal visszaadja a void-ot, amikor hívják.
  • ionViewCanEnter minden alkalommal visszaadja a boolean-t, amikor hívják
  • ionViewCanLeave minden alkalommal visszaadja a boolean-t, amikor hívják






Előző:Ionic Development Android alkalmazás gyakorlat (3): Hírek videólista
Következő:ionic3 szolgáltató
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com