Angular Отписаться на Реактивной форме - PullRequest
1 голос
/ 10 апреля 2020

У меня есть компонент, который действует как подкомпонент компонента большого контейнера, который управляет немного большей формой (используя Reactive Forms)

У меня есть этот кусок кода:

ngOnInit() {
    this.subscriptions.push(this.form.get('total').valueChanges.subscribe(data => {
      this.cdr.markForCheck();
    }));
  }

ngOnDestroy(): void {
    this.subscriptions.forEach((sub) => {
        sub.unsubscribe();
    })
}

Вопрос: это требуется? Даже если компонент уничтожен вместе с формой?

1 Ответ

0 голосов
/ 10 апреля 2020

если это последовательность, которая завершает (например, запрос http), ручная очистка не нужна (при условии, что вы подписываетесь в контроллере вручную).

если это бесконечная последовательность, как эта, вы должны отписаться от it.

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

Я использую subsink для этого. Джон Папа говорил об этом в видео и рекомендовал эту библиотеку.

...