Как вызвать событие при повторном входе на страницу, которая уже была инициализирована в Angular Ionic? - PullRequest
0 голосов
/ 08 декабря 2018

Я понимаю, что ловушки Angular жизненного цикла полезны для определения, когда компонент генерируется / уничтожается, например ngOnInit, но как только компонент сгенерирован, и пользователь покидает страницу, а затем возвращается, код, который мне нужензапуск при входе на страницу не запускается, поскольку существующий компонент уже инициализирован.

Например, у меня есть музыкальное приложение, скажем, я на странице исполнителя:

/tabs/(home:artist/:id)

, и я хочу перейти к релизу этого исполнителя,Я бы направил на:

/tabs/(home:release/:id)

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

Но, скажем, я возвращаюсь на страницу исполнителя

/tabs/(home:artist/:id)

Тогда страница релиза все еще существует и не была уничтожена, поэтому, если я нажмучтобы вернуться на ту же страницу релиза, ngOnInit никогда не запускается.

Я перемещаюсь с использованием следующего: private router: Router from @angular/router в моем конструкторе и переключаю страницы, используя этот метод:

this.router.navigateByUrl('tabs/(home:release/${uid})') (примечание: переключил `for ', чтобы не прерывать форматирование в stackoverflow)

Чего мне не хватает?

РЕДАКТИРОВАТЬ:

IЯ использую Ionic 4!Крюки жизненного цикла типа ionWillEnter() устарели

1 Ответ

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

Ionic имеет свои жизненные циклы

Ваше дело, кажется, решается с помощью ionViewWillEnter

например,

ionViewWillEnter(){
 //call ngOnInit or move methods in here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...