Разница между ионным и угловым и ионным жизненными циклами - PullRequest
0 голосов
/ 31 октября 2018

У меня есть страница, которая показывает города: на этой странице используется провайдер под названием "CitiesProvider" Поскольку эти города могут измениться, я ставлю подписку как:

this.citiesSubscription = this.CitiesProvider.salesChanged
  .subscribe(
    (cities: City[]) => this.cities = cities
  )

Где идеальное место для размещения метода «отписаться» между: ionViewWillLeave

или ionViewDidLeave

или ionViewWillUnload и что пойдет не так, если я положу его в другое?

И в чем разница между использованием этих (ионных) скачков жизненного цикла или использованием

ngOndestroy от Anglar или любых скакательных суставов, идущих под углом (поскольку ионные страницы также являются угловой составляющей

1 Ответ

0 голосов
/ 31 октября 2018

Вы должны использовать ngOnDestroy или ionViewWillUnload , чтобы отписаться от Observables.

Хуки ionViewDidLeave и ionViewWillLeave запускаются каждый раз, когда вы покидаете страницу, но не указывает, что страница уничтожается / удаляется из домена.

Пример :

Если вы используете NavController, чтобы поместить страницу в стек, ionViewDidLeave, но не ловушка уничтожения, срабатывает, потому что страница фактически остается в DOM. Если вы вернетесь назад, подписки по-прежнему гарантируют, что все обновлено.

Если вы отмените подписку, покидая страницу, вам нужно будет снова подписаться в ionViewWillEnter ловушке жизненного цикла.

...