使用cycle.js和xstream,我想计算按钮点击次数并重置它们。
我计划通过计算上次重置后的所有按钮点击来实现此目的。为此,我考虑放弃所有按钮点击,直到最后一次重置,并计算剩下的内容。
但是我留下了两个无法正常工作的按钮
有什么建议吗?
{{1}}
答案 0 :(得分:1)
const resetClick$ = dom.select("#resetButton")
.events("click")
.map(ev => 0)
const button1Click$ = dom.select("#button2")
.events("click")
.map(ev => 1)
const button1WithReset$ = Stream.merge(button1Click, resetClick$)
.fold((acc, n) => {
if (n == 0) return 0
else return acc + n
}, 0)
这应该可以解决问题。然后,您可以对button2Click
执行相同的操作。
通过合并button1click$
和resetClick$
,我们会得到一个流,可以发出0
或1
。使用fold,我们可以在每次合并流发出0
时重置计数器。