Крюки жизненного цикла Ionic 4 / Angular 7 вызываются только один раз на страницу - PullRequest
0 голосов
/ 29 декабря 2018

В ionic 3 были события жизненного цикла, такие как ionViewWillEnter и ionViewWillLeave.Но в Ionic 4 это событие должно быть заменено событиями жизненного цикла Angular, такими как ngOnInit и ngOnDestroy.

. В моем приложении мне нужно реализовать некоторые заданные операции, когда пользователь входит или покидает страницу.Например, если пользователь нажмет другую страницу (перейдите вперед в Ionic 4), приложение выполнит ionViewWillLeave для текущей страницы перед тем, как будет нажата новая страница.Если пользователь вернулся с нажатой страницы (перейдите назад в Ionic 4), приложение должно выполнить ionViewWillEnter для предыдущей страницы.

Я попытался заменить эти события на ngOnInit и ngOnDestroy.Но эти события вызываются по одному разу на страницу.Например, если я перейду на другую страницу (перейду к корню в Ionic 4) и вернусь на первую страницу, на первой странице события ngOnInit и ngOnDestroy больше не будут вызываться.

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

1 Ответ

0 голосов
/ 29 декабря 2018

Я сделал ошибку.Документация гласит:

С V4 мы теперь можем использовать типичные события, предоставляемые Angular.Но в некоторых случаях вам может потребоваться доступ к событиям, запускаемым, когда компонент завершает анимацию во время изменения маршрута.В этом случае ionViewWillEnter, ionViewDidEnter, ionViewWillLeave и ionViewDidLeave были перенесены из V3.Используйте эти события для координации действий с собственной системой анимации Ionic.

Более старые события, такие как ionViewDidLoad, ionViewCanLeave и ionViewCanEnter, были удалены, и следует использовать правильные альтернативы Angular. Руководство по миграции - события жизненного цикла

...