获取动态构建的反应形式的第一个值
get first values of an dynamically built reactive form
我有一个表单组件,我在其中构建一个包含服务调用值的动态表单。这工作正常。
现在我想在不同的组件中显示这些值。
我试图用事件发射器和form.valueChanges解决这个问题。
ngOnInit():void {
this.myForm.valueChanges.pipe(
takeUntil(this.destroyed$)
).subscribe(_ => {
// calls the eventemitter
this.emit();
});
}
这工作得很好,但不是我想要的,因为问题是只有在表单更改时才会发出值。这意味着我的表单已构建并呈现,但在其他组件中未显示任何值。然后我更改表单中的一个值,另一个组件显示表单的值。
(自然是因为valueChanges)
如何从来自服务调用的表单中获取“修补”值?
不,我不能在显示组件中使用服务调用的可观察对象。
像这样使用 rxjs startsWith 运算符在使用值创建表单时发出值
试试这个:
ngOnInit():void {
this.myForm.valueChanges.pipe(
startsWith(this.myForm.value),
takeUntil(this.destroyed$)
).subscribe(_ => {
// calls the eventemitter
this.emit();
});
}
我有一个表单组件,我在其中构建一个包含服务调用值的动态表单。这工作正常。
现在我想在不同的组件中显示这些值。
我试图用事件发射器和form.valueChanges解决这个问题。
ngOnInit():void {
this.myForm.valueChanges.pipe(
takeUntil(this.destroyed$)
).subscribe(_ => {
// calls the eventemitter
this.emit();
});
}
这工作得很好,但不是我想要的,因为问题是只有在表单更改时才会发出值。这意味着我的表单已构建并呈现,但在其他组件中未显示任何值。然后我更改表单中的一个值,另一个组件显示表单的值。 (自然是因为valueChanges)
如何从来自服务调用的表单中获取“修补”值? 不,我不能在显示组件中使用服务调用的可观察对象。
像这样使用 rxjs startsWith 运算符在使用值创建表单时发出值
试试这个:
ngOnInit():void {
this.myForm.valueChanges.pipe(
startsWith(this.myForm.value),
takeUntil(this.destroyed$)
).subscribe(_ => {
// calls the eventemitter
this.emit();
});
}