Как остановить угловой 6 слушатель пожарного депо - PullRequest
0 голосов
/ 21 июня 2019
 ngOnInit() {    

        this.firestore.collection('mycollection').ref.where("myfiled","==","animal") 

            .onSnapshot((data=>{}));
}

Это мой код, и он будет запускаться несколько раз, если я зайду, например, на другие страницы
, код «Выше» находится на странице 1, и если я зайду на страницу 2, то вернется на страницу 1, тогда он будет вызываться 2 раза и снова, еслизайдите на страницу 3 и вернитесь на первую страницу, после чего она будет вызываться 3 раза.
Как это исправить?


Ответы [ 2 ]

2 голосов
/ 21 июня 2019

Сначала внедрите OnDestroy в свой компонент.ngOnDestroy будет вызываться при смене страницы.

Тогда вы можете отписаться следующим образом:

this.unsubscribe = this.firestore.collection("mycollection")
  .ref.where("myfiled","==","animal")
  .onSnapshot((data=>{
    // Your code
  }));

И в ngOnDestroy:

ngOnDestroy() {
  // Stop listening to changes
  this.unsubscribe();
}

Проверьте документацию для получения дополнительной информации.

0 голосов
/ 21 июня 2019

firestore.collection дает вам unsubscribe метод.Просто назначьте этот код переменной и отмените подписку в методе OnDestroy

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...