我想初始化对Angular表单的提交的订阅,而不是值的更改。基本上,在我的脑海里,我想要一些类似的东西:
ngOnInit() {
this.formGroup.submit.pipe(
mergeMap(this.service.update(formVal)),
).subscribe(this.val$);
}
这样,我可以直接从表单开始就初始化表单更改的预订,值的来源也会更改。这可能吗?为什么或为什么不呢?
答案 0 :(得分:0)
初始化对Angular表单提交的订阅,而不是更改值
有一种方法可以做到这一点。创建表单控件(FormControl
,FormGroup
或FormArray
)时,还可以指定updateOn
属性,该属性指示何时应更新表单控件。更新表单控件时,其valueChanges
和statusChanges
主题也会发出。
请记住,您可以像这样创建FormGroup
实例:
this.formGroup = new FormGroup({ /* ... controls ... */ }, { updateOn: 'submit' })
// Getting notified about changes
this.formGroup.valueChanges.subscribe(formValue => {})
updateOn
的可能值为:change
,blur
和submit
。
Here是一篇文章,深入探讨了Angular Forms。