在下面的代码中,this.form.valueChanges并this.form.get('name').valueChanges发出良好的声音。但是forkJoin,这些都不起作用。有人可以请教吗?
export class AppComponent {
name = 'Angular';
form = this.formBuilder.group({
name:'test'
})
constructor(private formBuilder: FormBuilder){
}
ngOnInit(){
forkJoin(this.form.valueChanges, this.form.get('name').valueChanges)
.subscribe(x=>alert(x))//NOT working
this.form.valueChanges.subscribe((x)=>alert(JSON.stringify(x)));//fine
this.form.get('name').valueChanges.subscribe((x)=>alert(x))//fine
}
}
Run Code Online (Sandbox Code Playgroud)
forkJoin 仅在其所有源Observable至少发出一次且它们全部完成之后才发出。
这是您遇到的问题,因为valueChanges在内部Subject从未实现过。
例如,您可以在每个Observable源之前添加一个前缀take(1),使它在第一次发射后完成,或者实际上您正在寻找combineLatest(...).pipe(take(1))。
| 归档时间: |
|
| 查看次数: |
30 次 |
| 最近记录: |