gpt4 book ai didi

javascript - 使用 Bacon.js 切换按钮

转载 作者:行者123 更新时间:2023-12-02 17:05:57 33 4
gpt4 key购买 nike

假设我有一个按钮#button。我希望它切换某些元素#element的可见性。所以用普通的 jQuery 我会这样做

$("#button").on("click", function() {$("#element").toggle();})

或者有明显的副作用:

var visible = true;
$("#button").on("click", function() {visible = !visible; $("#element").show(visible);})

Bacon.js 中的等效项是什么。我认为可以做到没有任何副作用,但我不知道如何做到。

编辑:让我澄清一下:没有任何不属于 Bacon.js 对象一部分的副作用。

最佳答案

文档给出了一个几乎字面的示例,说明如何使用 .assign 做到这一点和 $.fn.asEventStream :

$("#button").asEventStream("click").assign($("#element"), "toggle");

注意事项:对于事件流,您无法使用 Property::assign 方法,但 onValue 的工作方式相同。我们还想确保toggle不使用事件作为参数来调用,因此您宁愿使用

$("#button").asEventStream("click").onValue($("#element"), "toggle", null, null);
<小时/>

对于显式状态,我们使用 scan method :

$("#button").asEventStream("click") // a stream of click events
.scan(true, // iterate it, starting with true
function(visible, e) {
// ignore the event parameter
return !visible; // just toggle the boolean
}) // now we've got a property of a changing boolean value
.assign($("#element"), "show");

关于javascript - 使用 Bacon.js 切换按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25248300/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com