Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何避免订阅被动表单_Angular_Angular Reactive Forms - Fatal编程技术网

Angular 如何避免订阅被动表单

Angular 如何避免订阅被动表单,angular,angular-reactive-forms,Angular,Angular Reactive Forms,所以,我有一张表格。 我想对每一次输入更改做出反应,而不是模糊,也不是提交。 我不想在每个输入中添加(更改)侦听器 目前我正在做: this.form.valueChanges.subscribe(…) 问题解决了 当然,但我的问题来了……如果我也不想使用subscribe怎么办?我在任何地方都使用async管道来避免这样做。在这种情况下,我如何避免它 我试图将输出上的值更改传递给父组件 Output() formChanges: Observable<FormInterface>;

所以,我有一张表格。
我想对每一次输入更改做出反应,而不是模糊,也不是提交。
我不想在每个输入中添加(更改)侦听器

目前我正在做:
this.form.valueChanges.subscribe(…)
问题解决了

当然,但我的问题来了……如果我也不想使用
subscribe
怎么办?我在任何地方都使用
async
管道来避免这样做。在这种情况下,我如何避免它

我试图将输出上的值更改传递给父组件

Output() formChanges: Observable<FormInterface>;

constructor() {
  this.formChanges = this.form.valueChanges;
}
Output()表单更改:可观察;
构造函数(){
this.formChanges=this.form.valueChanges;
}
结果是:
错误范围错误:超过最大调用堆栈大小

A.k.A.使应用程序崩溃


有什么想法吗?

我认为更好的方法是订阅
valueChanges
,然后使用所需的信息进行emmit活动,而不是按照您选择的方式进行。“react”是什么意思?值更改时要执行什么操作。为什么你不想订阅一个可观察的?这没什么错。顺便说一句,这就是异步管道所做的。这就是可观测的。你不应该盲目地试图避免订阅。异步管道在许多情况下是可取的,但并非所有情况下都是如此。有时订阅是正确的。将值更改传递到输出就是其中之一。