Z mé zkušenosti většina studentů tento koncept zná. Pokud toho moc nevíte, musíte vědět, že prohlížeč při načtení webové stránky spustí událost při načtení, a obvykle používáme metodu $(document).load() ve windows.onload nebo jquery k definování, co by měla webová stránka dělat při načtení.
V aplikaci je tento typ události bohatší. Často musíte pro uživatele něco udělat, než stránku uvidí, nejčastěji je to stahování dat ze serveru; Nebo něco udělat, když se chystají stránku opustit.
1. Pochopte iontový životní cyklus Od Ionic 3.8.0 poskytuje framework 8 hook funkcí, které se spouštějí v různých fázích životního cyklu stránky.
1.1 ionViewDidLoad Spouštěč dokončení načítání stránky, zde "load complete", označuje stav stránky, kdy byly načteny požadované zdroje, ale ještě nebyly ve stavu stránky (uživatel stále vidí předchozí stránku).
Je třeba poznamenat, že je to velmi arogantní háček, který se během celého procesu vyvolá jen jednou, tedy když poprvé vstoupíte na stránku, a poté, ať už vstoupíte nebo odejdete jakkoliv, bude opuštěná a mizerná. Pokud tedy nezničíte pozadí a znovu nevstoupíte do softwaru (je také v pořádku stisknout obnovení při ladění webové stránky).
Proto je tento háček vhodný pro jednorázové zpracování, například pro stažení uživatelských dat ze serveru a jejich uložení do cache.
1.2 ionViewWillEnter Doslovné pochopení je ten okamžik "přicházím", kdy stránka začne přepínat. V tomto bodě můžete předzpracovat data stránky a tento háček bude pokaždé vyvolán.
1.3 ionViewDidEnter Když je tento hook aktivován, uživatel vstoupí do nové stránky (stránka je aktivní) a bude vyvolána pokaždé.
Když už o tom mluvím, musím dodat, že pojmenování háčků v Ionic je opravdu přátelské k většině čínských studentů a jeden problém vyřešil a druhý OPRAVDU vyřešil. Na rozdíl od některých glamour (špatných) frameworků venku je tu spousta připravených, aktualizací, splněných, destory atd., pamatuj si jednou a zapomeň jednou. (Samozřejmě, je to vtip, pojmenování komponent úzce souvisí s mechanismem fungování rámce)
1.4 ionViewWillLeave Page Ready (se chystá) se spustí, když uživatel právě spustí tlačítko zpět nebo související událost.
1.5 ionViewDidLeave Spustí se po dokončení stránky, stránka je neaktivní.
1.6 ionViewWillUnload Spouště, když je zdroj na stránce blízko zničení, tipoval byste, že tento hák, stejně jako ionViewDidLoad, se spustí jen jednou?
1.7 Testování Vezměme stránku, kterou jsme vytvořili v předchozí sekci, a provedeme test načítání háku. V předchozí části jsme implementovali proces přeskakování z domovské stránky na Testovou stránku pomocí tlačítek a nyní přidáváme výše uvedených šest háčků do TestPage a sledujeme jejich vyvolávání přes konzoli.
Kód sekce tématu stránky je následující
Všimněte si, že jsem také přidal testovací příkaz do konstruktoru. Otevřete ladění Serve, klikněte na tlačítko, přejděte na TestPage a sledujte, co konzole generuje.
Poprvé na stránce
Vraťte se na domovskou stránku a sledujte, co konzole vypíná.
Poprvé opouštím stránku
Znovu vstupte do TestPage a ukončete ji a sledujte, co konzole vyhodí.
Druhý vstup a výstup
Lze vyvodit následující závěry:
- Konstruktor je spuštěn před ionViewDidLoad
- ionViewDidLoad se spustí pouze při prvním vstupu na stránku
- ionViewWillUnload se spustí pokaždé, když stránku opustíte
2. Jsou zde také dva háky
Na začátku jsem zmínil, že ionic nabízí 8 háčků, zatímco já jsem zavedl jen 6. Prvních 6 háčků má společné rysy a jejich návratové hodnoty jsou všechny neplatné, tedy jsou vyvolány v příslušném okamžiku a nevrací žádnou informaci.
Další dva háky jsou trochu jiné, jsou to ionViewCanEnter a ionViewCanLeave, které mohou vracet booleány. Podívejte, právě jsem mluvil o časech a teď budu mluvit o modálních slovesech. Pokud je prvních 6 háčků pasivní reakcí stránky na návštěvu uživatele, pak má stránka nyní vědomí, které vám umožní přijít nebo vám dovolit odejít, ach, stránka od teď stojí na místě!
Tyto dva háky hrají větší roli v ovládání autority a nedávno se objevil velmi populární termín Stráž, jak pochopit tuto stráž, můžete ji pochopit jako strážce komunity, přátelského ředitele školy a starého dropa 2333 s tisíci pózami ve starobylé budově s meruňkovými květy.
Teď, když už víme, že vrací booleovskou hodnotu, zkusme to. Protože v našem programu není žádná obchodní logika, použijme zde časové API k posouzení
Přístup na stránku je blokován
Podobně, pokud chcete odejít na stránce a ionViewCanLeave vrátí nepravdu, budete zablokováni.
Návratová operace je zachycena
Tištěné informace na konzoli
3 Shrnutí
Ehm, už žádné nesmysly, shrnuto, Ionic má následující lifecyklické háčky
- ionViewDidLoad je vyvolán jako první návrat void
- ionViewWillEnter pokaždé, když je volán, vrátí neplatný
- ionViewDidEnter vrací void pokaždé, když je volán
- ionViewWillLeave vrací void pokaždé, když je volán
- ionViewDidLeave vrací pokaždé neplatný
- ionViewWillUnload vrací void pokaždé, když je volán
- ionViewCanEnter vrací boolean pokaždé, když je volán
- ionViewCanLeave vrací boolean pokaždé, když je volán
|