我试图让以下代码移入被调用的函数中,而不是通过本机元素click事件执行该操作:
const saveRit$ = Observable.fromEvent(this.saveRitbutton.nativeElement, 'click');
console.log('here', saveRit$);
saveRit$.pipe(
withLatestFrom(this.account$)
).subscribe(([click, { accountId }]) => {
console.log('working');
this.saveRit(accountId).then(() => {
const years = this.ritForm.controls['lineItems'].value.map(row => row.year);
this.emitSuccess(years);
});
});
我对管道的知识有限,并且可观察,因此任何输入都是惊人的。我知道我不再需要saveRit$
变量,但是一旦删除.pipe()
,该怎么办?我只想能够从某些函数中调用它。
答案 0 :(得分:2)
由于Observable.fromEvent仅提供了一个Observable,因此我们可以将其替换为任何其他Observable。据我从您的摘要中可以看到,您想订阅this.account$
。
this.account$.subscribe(account => {
console.log('working');
this.saveRit(account.accountId).then(() => {
const years = this.ritForm.controls['lineItems'].value.map(row => row.year);
this.emitSuccess(years);
});
});
祝你好运!