При подписке на изменения в Angular Abstract Control с использованием valueChanges , необходимо ли unsubscribe()
?
Я часто делаю это:
// this.form is a FormGroup within a Component.
this.form.valueChanges.subscribe(_ => {
console.log(this.form.value);
});
Но должен ли я управлять подпиской самостоятельно (как я делаю с ngrx
в целом)?:
import { Subscription } from 'rxjs';
// this.subscription is ngrx Subscription.
this.subscription = this.form.valueChanges.subscribe(_ => {
console.log(this.form.value);
});
public ngOnDestroy() {
if (this.subscription) {
this.subscription.unsubscribe();
}
}
Единственная причина, по которой я не сделал это ранее, заключается в том, что учебные пособия, примеры и документация по угловым формам обычно не содержат ссылки на подписку, а вместо этого просто используйте valueChanges в качестве есть.
И наоборот, учебники по ngrx подчеркивают важность отказа от подписки во избежание утечек памяти.