Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 12922|Ответ: 0

[ионический] События жизненного цикла страницы ionic3 (крючки)

[Скопировать ссылку]
Опубликовано 21.06.2018 10:30:06 | | | |
По моему опыту, большинство студентов знают эту концепцию. Если вы мало что знаете, то вы должны знать, что браузер запускает событие загрузки при загрузке веб-страницы, и мы обычно используем метод $(document).load() в window.onload или jquery, чтобы определить, что должна делать веб-страница при загрузке.



В APP такое мероприятие богаче. Часто нужно что-то сделать для пользователей до того, как они увидят страницу, чаще всего — это сбор данных с сервера; Или сделать что-то, когда они собираются оставить страницу.

1. Понять крючок ионного жизненного цикла
Начиная с Ionic 3.8.0, фреймворк предоставляет 8 функций крючка, которые запускаются на различных этапах жизненного цикла страницы.

1.1 ionViewDidLoad
Триггер завершения загрузки страницы, здесь «загрузка завершена», относится к состоянию страницы, когда необходимые ресурсы были загружены, но ещё не вошли в состояние страницы (пользователь всё ещё видит предыдущую страницу).

Стоит отметить, что это очень высокомерный крючок, который вызывается только один раз за весь процесс, то есть он вызывается при первом входе на страницу, и после этого, как бы вы ни входили и ни выходили, она будет пустой и несчастной. Если только вы не отключите фон и не введёте программу заново (также можно нажать обновить во время отладки веб-страницы).

Поэтому этот крючок подходит для одноразовой обработки, например, для извлечения пользовательских данных с сервера и их хранения в кэше.

1.2 ionViewWillEnter
Буквальное понимание — это момент «Я захожу», когда страница просто начинает переключаться. Вы можете предварительно обработать данные страницы на этом этапе, и этот крюк будет вызываться каждый раз.

1.3 ionViewDidEnter
Когда этот крюк срабатывает, пользователь вводит новую страницу (страница активна), и она будет вызываться каждый раз.

Говоря об этом, я должен вмешаться: название хуков в ionic очень дружелюбно для большинства китайских студентов, и один из них решает проблему. В отличие от некоторых гламурных (неправильных) фреймворков вне системы, здесь есть множество готовых, обновленных, комплионованных, десторейнских и т.д., вспомни один раз и забудь один раз. (Конечно, это шутка, названия компонентов тесно связаны с механизмом работы фреймворка)

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

1.5 ionViewDidLeft
Срабатывает после завершения страницы, страница становится неактивной.

1.6 ionViewWillUnload
Триггеры, когда ресурс на странице вот-вот будет уничтожен — вы бы предположили, что этот хук, как ionViewDidLoad, сработает только один раз?

1.7 Тестирование
Давайте возьмём страницу, которую мы создали в предыдущем разделе, и проведём тест загрузки крюка.
В предыдущем разделе мы реализовали процесс перехода с HomePage на TestPage с помощью кнопок, а теперь добавляем вышеуказанные шесть крючков в TestPage и наблюдаем их вызов через консоль.

Код раздела темы страницы выглядит следующим образом

Обратите внимание, что я также добавил тестовый оператор в конструктор. Откройте отладку Serve, нажмите кнопку, перейдите на страницу теста и посмотрите, что показывает консоль.


Первый раз на странице

Вернитесь на главную страницу и посмотрите, что показывает консоль.

Впервые покидаю страницу

Снова входите и выходите из TestPage и наблюдайте, что показывает консоль.

Второй въезд и выход

Можно сделать следующие выводы:

  • Конструктор запускается до ionViewDidLoad
  • ionViewDidLoad срабатывает только при первом входе на страницу
  • ionViewWillUnload запускается после каждого покидания страницы


2. Также есть два крючков для защиты

Я упоминал в начале, что ionic предлагает 8 крючков, а ввёл только 6. Первые 6 крючков имеют общую черту, и все их возвращаемые значения недействительны, то есть они вызываются в соответствующий момент и не возвращают никакой информации.

Остальные два хука немного отличаются — это ionViewCanEnter и ionViewCanLeave, которые могут возвращать булевые эффекты.
Слушайте, я только что говорил о временах, а теперь расскажу о модальных глаголах. Если первые 6 крючков — пассивная реакция страницы на посещение пользователя, то теперь страница обладает сознательностью, чтобы разрешить вам прийти или уйти,, страница уже встала!

Эти два крючка играют большую роль в контроле власти, и недавно появился очень модный термин — «Страж», как понять этого стража, его можно понять как привратника сообщества, доброжелательного директора и старого дрофового 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): Список новостных видео
Следующий:Провайдер ionic3
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com