Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 12922|Отговор: 0

[йонски] Събития от жизнения цикъл на страницата ionic3 (куки)

[Копирай линк]
Публикувано в 21.06.2018 г. 10:30:06 ч. | | | |
По мое наблюдение, повечето студенти знаят тази концепция. Ако не знаете много, трябва да знаете, че браузърът ще задейства събитие за зареждане при зареждане на уеб страница, и обикновено използваме метода $(document).load() в window.onload или jquery, за да определим какво трябва да прави уеб страницата при зареждане.



В APP този вид събития са по-богати. Често трябва да направите нещо за потребителите, преди да видят страницата, най-често е да изтегляте данни от сървъра; Или да направят нещо, когато са на път да оставят страница.

1. Разберете куката на йоничния жизнен цикъл
Към Ionic 3.8.0 фреймуъркът предоставя 8 функции за кука, които се задействат на различни етапи от жизнения цикъл на страницата.

1.1 ionViewDidLoad
Тригерът за завършване на зареждането на страницата, тук "load complete" се отнася до състоянието на страницата, при което необходимите ресурси са заредени, но все още не са влезли в състоянието на страницата (потребителят все още вижда предишната страница).

Трябва да се отбележи, че това е много арогантна кука, която ще бъде извикана само веднъж през целия процес, тоест се нарича при първото влизане на страницата, и след това, независимо как влизате и излизате, тя ще бъде пуста и мизерна. Освен ако не изключиш фона и не влезеш отново в софтуера (също така е добре да натиснеш refresh, докато дебъгваш уеб страницата).

Затова този hook е подходящ за еднократна обработка, като например изтегляне на потребителски данни от сървъра и съхранението им в кеша.

1.2 ionViewWillEnter
Буквалното разбиране е моментът "Влизам", когато страницата просто започва да се сменя. Можете да предварително обработите данните на страницата на този етап и този hook ще се извиква всеки път.

1.3 ionViewDidEnter
Когато този hook се задейства, потребителят е въвел нова страница (страницата е активна) и тя ще бъде извиквана всеки път.

Като стана дума за това, трябва да се намеся, че именуването на куки в Ionic е много благоприятно за повечето китайски студенти и един ще реши проблема. За разлика от някои бляскави (грешни) рамки отвън, тук има куп ready, update, complied, destory и т.н., запомни веднъж и забрави веднъж. (Разбира се, това е шега, именуването на компонентите е тясно свързано с механизма на работа на рамката)

1.4 ionViewWillLeave
Page Ready (предстои да го направи) се задейства, когато потребителят току-що е задействал бутона за връщане или свързано събитие.

1.5 ionViewDidLeave
Когато страницата приключи, страницата е неактивна.

1.6 ionViewWillUnload
Тригери, когато ресурс в страница е на път да бъде унищожен – бихте ли предположили, че този хук, подобно на ionViewDidLoad, ще се задейства само веднъж?

1.7 Тестване
Нека вземем страницата, която създадохме в предишната секция, и направим тест за зареждането на куката.
В предишната секция реализирахме процеса на прескачане от Начална страница към Тестова страница чрез бутони, а сега добавяме горните шест кука към TestPage и наблюдаваме тяхното извикване през конзолата.

Кодът на секцията за тема на страницата е следният

Обърнете внимание, че добавих и тест оператор към конструктора. Отворете Serve debugging, кликнете бутона, отидете на TestPage и наблюдавайте какво показва конзолата.


Първи път на страницата

Върни се на началната страница и наблюдавай какво показва конзолата.

Напускане на страницата за първи път

Влез и излез от TestPage отново и наблюдавай какво показва конзолата.

Втори вход и изход

Могат да се направят следните изводи:

  • Конструкторът се задейства преди ionViewDidLoad
  • ionViewDidLoad се активира само когато за първи път влезеш в страницата
  • ionViewWillUnload се задейства след всеки път, когато напуснете страницата


2. Има и две куки за защита

Споменах в началото, че ionic предлага 8 куки, докато въведох само 6. Първите 6 куки имат общо, а техните връщани стойности са нищожни, тоест те се извикват в съответния момент и не връщат никаква информация.

Другите два hook-а са малко по-различни – това са ionViewCanEnter и ionViewCanLeave, които могат да връщат булеви стойности.
Вижте, току-що говорих за времена, а сега ще говоря за модални глаголи. Ако първите 6 hook-а са пасивен отговор на страницата на посещението на потребителя, тогава сега страницата има съзнанието да ви позволи да дойдете или да си тръгнете, ах, страницата вече е изправена!

Тези две куки играят по-голяма роля в контрола на властта, а напоследък има много модерен термин, наречен Страж, как да разбереш този пазач, можеш да го разбереш като пазач на общността, приятелски настроен директор и старата дропа 2333 с хиляди пози в древната сграда с кайсиевия цвят.

Сега, когато вече знаем, че връща булева стойност, нека опитаме. Тъй като в нашата програма няма бизнес логика, нека използваме времеви API за оценка тук


Достъпът до страницата е блокиран


По същия начин, ако искате да оставите страница, ако ionViewCanLeave върне false, ще бъдете блокирани.


Операцията по връщане е прихваната


Конзолна отпечатана информация

3 Резюме

Кхм, без повече глупости, за да обобщя, Ionic има следните кукички за жизнения цикъл

  • ionViewDidLoad се извиква първия път, когато връща void
  • ionViewWillEnter връща void всеки път, когато се извика.
  • ionViewDidEnter връща void всеки път, когато се извика.
  • ionViewWillLeave връща void всеки път, когато бъде извикан
  • ionViewDidLeave връща void всеки път, когато се извика.
  • ionViewWillUnload връща void всеки път, когато се извика.
  • ionViewCanEnter връща булева стойност всеки път, когато се извика.
  • ionViewCanLeave връща булева стойност всеки път, когато се извика.






Предишен:Ionic Development Android App Practice (3): Списък с новинарски видеа
Следващ:Provider на ionic3
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com