在 Bacon.js 中实现数字微调器
Implement a numeric spinner in Bacon.js
有一个文本字段和两个按钮,(+) 和 (-)。从按钮点击中获取值很简单:
// provided plusStream contains +1 for each (+) click
// and minusStream -1 for each (-) click.
let value = plusStream.merge(minusStream).scan(0, (a, b) => a + b);
问题是,如何处理 directChange 流,它包含文本字段的每个有效更改的数字?
它应该以某种方式改变值。此外,.scan() 应该知道更改,以便下一个按钮单击 addis 或从更新值中减去 1。
我建议你试试 Bacon.update。这可能有效:
Bacon.update(0,
plusStream, (prev) => prev + 1,
minusStream, (prev) => prev - 1,
directChangeStream, (prev, updated) => updated
)
有一个文本字段和两个按钮,(+) 和 (-)。从按钮点击中获取值很简单:
// provided plusStream contains +1 for each (+) click
// and minusStream -1 for each (-) click.
let value = plusStream.merge(minusStream).scan(0, (a, b) => a + b);
问题是,如何处理 directChange 流,它包含文本字段的每个有效更改的数字?
它应该以某种方式改变值。此外,.scan() 应该知道更改,以便下一个按钮单击 addis 或从更新值中减去 1。
我建议你试试 Bacon.update。这可能有效:
Bacon.update(0,
plusStream, (prev) => prev + 1,
minusStream, (prev) => prev - 1,
directChangeStream, (prev, updated) => updated
)