【发布时间】:2018-06-29 19:19:51
【问题描述】:
使用 rxjs v6
所以我有多个要跟踪/观察的变量,当其中任何一个发生变化时,触发 Observable 调用 API,然后根据这些变量更新其他内容。
我想我可能会在 div 上触发一个事件来强制 observable 做某事,但它不会根据我想要的结果返回结果
例如
var a, b, c, d // if any updates, should trigger div "update" event
let obs = fromEvent(this.$refs.updater, "update")
.pipe(
switchMap(i => {return this.callAnAPI()})
)
obs.subscribe()
var update = new Event("update")
this.$refs.updater.dispatchEvent(update)
但是,observable 上没有 subscribe 方法。我试图修改我的其他 Observable 之一(有效)
fromEvent(input, "keyup")
.pipe(
map(i => i.currentTarget.value),
debounceTime(delay),
distinctUntilChanged(),
switchMap(value =>
{
this.page = 1
if (ajax)
{
return ajax
}
else
{
return this.axiosAjax({
path,
method,
data: {
...data,
[term]: value
}
})
}
})
)
【问题讨论】:
-
update是自定义事件监听器吗?因为据我所知,没有名为update的事件监听器 -
@JacobGoh 是的,我会更新我的实现方式。只是额外说明 Observable 已创建,但我无法像预期的那样订阅
-
您能否详细说明“observable 上没有订阅方法” 以及您发布的两个 sn-ps 是如何交互的?
标签: javascript rxjs rxjs6