Z mojej skúsenosti väčšina študentov tento koncept pozná. Ak toho veľa neviete, musíte vedieť, že prehliadač spustí udalosť pri načítaní webovej stránky, a zvyčajne používame metódu $(document).load() vo windows.onload alebo jquery na definovanie, čo by mala webová stránka robiť pri načítaní.
V aplikácii je tento typ podujatia bohatší. Často musíte pre používateľov niečo urobiť ešte predtým, než stránku uvidia, najčastejšie je to stiahnutie dát zo servera; Alebo niečo urobiť, keď sa chystajú zanechať stránku.
1. Pochopenie iónového životného cyklického háku Od verzie Ionic 3.8.0 rámec poskytuje 8 funkcií háku, ktoré sa spúšťajú v rôznych fázach životného cyklu stránky.
1.1 ionViewDidLoad Spúšťač dokončenia načítania stránky, tu "načítanie dokončené", označuje stav stránky, v ktorom boli požadované zdroje načítané, ale ešte nevstúpili do stavu stránky (používateľ stále vidí predchádzajúcu stránku).
Treba poznamenať, že je to veľmi arogantný háčik, ktorý sa počas celého procesu vyvolá len raz, teda keď prvýkrát vstúpite na stránku, a potom, nech už vstúpite alebo odchádzate akokoľvek, bude opustená a mizerná. Pokiaľ nezničíte jeho pozadie a znovu nevstúpite do softvéru (je tiež v poriadku stlačiť obnovenie počas ladenia webovej stránky).
Preto je tento hook vhodný na jednorazové spracovanie, napríklad na stiahnutie používateľských dát zo servera a ich uloženie do cache.
1.2 ionViewWillEnter Doslovné pochopenie je moment, keď "vchádzam", keď sa stránka začne prepínať. V tomto bode môžete predspracovať dáta stránky a tento hák bude zakaždým vyvolávaný.
1.3 ionViewDidEnter Keď sa tento hook spustí, používateľ vstúpi do novej stránky (stránka je aktívna) a bude zakaždým zavolaná.
Keď už o tom hovoríme, musím poznamenať, že pomenovanie háčikov v Ionic je naozaj priateľské k väčšine čínskych študentov a jeden problém vyriešil a druhý NAOZAJ vyriešil. Na rozdiel od niektorých glamúrnych (nesprávnych) frameworkov vonku je tu množstvo pripravených, aktualizovaných, komplimentovaných, destory a podobne, pamätaj si raz a zabudni raz. (Samozrejme, je to vtip, pomenovávanie komponentov úzko súvisí s mechanizmom fungovania rámca)
1.4 ionViewWillLeave Page Ready (čoskoro bude) sa spustí, keď používateľ práve stlačí tlačidlo späť alebo súvisiacu udalosť.
1.5 ionViewDidLeave Ak sa stránka spustí, stránka je neaktívna.
1.6 ionViewWillUnload Spúšťa, keď je zdroj na stránke blízko zničenia, tipovali by ste, že tento hák, podobne ako ionViewDidLoad, sa spustí len raz?
1.7 Testovanie Vezmime stránku, ktorú sme vytvorili v predchádzajúcej sekcii, a otestujme načítanie háku. V predchádzajúcej sekcii sme implementovali proces preskakovania z domovskej stránky na TestPage pomocou tlačidiel a teraz pridávame vyššie uvedených šesť háčikov do TestPage a sledujeme ich vyvolávanie cez konzolu.
Kód sekcie témy stránky je nasledovný
Všimnite si, že som tiež pridal testovací príkaz do konštruktora. Otvorte ladenie Serve, kliknite na tlačidlo, choďte na TestPage a sledujte, čo konzola generuje.
Prvýkrát na papieri
Vráťte sa na domovskú stránku a sledujte, čo konzola produkuje.
Prvé opustenie stránky
Vstúpte do TestPage a ukončite ju znova a sledujte, čo konzola vyprodukuje.
Druhý vstup a výstup
Z týchto záverov možno vyvodiť:
- Konštruktér sa spustí pred ionViewDidLoad
- ionViewDidLoad sa spustí iba vtedy, keď prvýkrát vstúpite na stránku
- ionViewWillUnload sa spustí po každom opustení stránky
2. Sú tam aj dva háky na stráženie
Na začiatku som spomenul, že Ionic ponúka 8 háčikov, zatiaľ čo ja som predstavil len 6. Prvých 6 háčikov má spoločné vlastnosti a ich návratové hodnoty sú všetky neplatné, teda sú vyvolané v príslušnom okamihu a nevracajú žiadnu informáciu.
Ostatné dva háky sú trochu odlišné, sú to ionViewCanEnter a ionViewCanLeave, ktoré dokážu vrátiť booleány. Pozri, práve som hovoril o časoch a teraz budem hovoriť o modálnych slovesách. Ak je tých prvých 6 háčikov pasívnou reakciou stránky na návštevu používateľa, potom teraz má stránka vedomie, aby vám dovolila prísť alebo vás nechať ísť, ach, stránka odteraz stojí!
Tieto dva háčiky zohrávajú väčšiu úlohu pri kontrole autority a nedávno sa objavil veľmi populárny pojem Stráž, ako pochopiť túto stráž, môžete ju pochopiť ako strážcu komunity, priateľského riaditeľa školy, a starého dropa 2333 s tisíckami póz v starobylej budove s marhuľovým kvetom.
Teraz, keď už vieme, že vracia booleovskú hodnotu, skúsme to. Keďže v našom programe nie je žiadna obchodná logika, použime časové API na posúdenie
Prístup na stránku je zablokovaný
Podobne, ak chcete stránku opustiť a ionViewCanLeave vráti nepravdivé číslo, budete zablokovaní.
Návratová operácia je zachytená
Tlačené informácie na konzole
3 Zhrnutie
Ehm, žiadne ďalšie nezmysly, na záver, Ionic má nasledujúce lifecyklové háčiky
- ionViewDidLoad sa volá prvýkrát na vrátenie void
- ionViewWillEnter vždy vráti neplatnosť pri každom vyvolaní
- ionViewDidEnter vždy vráti neplatnosť pri jeho zavolaní
- ionViewWillLeave vždy vráti neplatnosť, keď je zavolaný
- ionViewDidLeave vždy vráti neplatnosť pri jeho vyvolaní
- ionViewWillUnload vráti void vždy, keď je zavolaný
- ionViewCanEnter vždy vráti booleovskú hodnotu pri každom zavolaní
- ionViewCanLeave vždy vráti boolean hodnotu pri jeho zavolaní
|