我正在使用angular valueChanges
/ FormControl
/ FormGroup
类的FormArray
值可观察量,我知道我们总是必须取消“无限的“有价值的可观察者,所以我想知道这是否是这种可观察的情况,我也很高兴知道下次我可以自己找到的方法:)
答案 0 :(得分:1)
valueChanges
将从对象流式更改直到停止。所以,是的,它本质上是一个无限的可观察的。与HTTP调用中的一个observable(一次性事件并触发可观察事件completed
函数)不同,valueChanges
将永远不会触发completed
函数。如果您正在呼叫subscribe
,我会将其设置为取消订阅ngOnDestroy
功能。
this.sub = this.form.valueChanges.subscribe(....);
ngOnDestroy() {
if (this.sub) {
this.sub.unsubscribe();
}
}
通过触发已完成的函数,我的意思是:
this.form.valueChanges.subscribe(
data => //get data,
error => /error happens,
completed => // <-- THIS NEVER FIRES IN A VALUECHANGES OBSERVABLE
);