Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Bacon.js中实现数字微调器_Javascript_Frp_Bacon.js - Fatal编程技术网

Javascript 在Bacon.js中实现数字微调器

Javascript 在Bacon.js中实现数字微调器,javascript,frp,bacon.js,Javascript,Frp,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流,它为文本字段的每个有效更改都包含一个数字 它应该

有一个文本字段和两个按钮,(+)和(-)。从按钮单击中获取值非常简单:

// 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()应该知道更改,以便单击“下一步”按钮或从更新的值中减去1。

我建议您尝试。这可能会奏效:

Bacon.update(0,
  plusStream, (prev) => prev + 1,
  minusStream, (prev) => prev - 1,
  directChangeStream, (prev, updated) => updated
)

另一种方法是从所有输入创建一个修改函数流,然后扫描该流。