1
我想创建一个使用RX Js作为练习的边栏菜单。这是我走到这一步:使用RXJs流切换和隐藏
var hideStream = Rx.Observable
.fromEvent(hideButton, 'click')
.map(() => false);
var toggleStream = Rx.Observable
.fromEvent(toggleButton, 'click')
.map(() => true);
var resultStream = Rx.Observable.merge(
toggleStream, hideStream)
.startWith(false)
.scan(function(value, newValue) {
if (newValue) {
return !value;
} else {
return false;
}
});
的toggleStream
观察到的监听汉堡包,并允许用户切换菜单的可见性。第二个可观察的hideStream
必须能够隐藏菜单,而不管当前状态如何。
这是按预期工作,但我想知道是否有更好的方法。我在scan
运营商确实感觉有点怪,我...
工作示例这里:https://jsbin.com/hozozolune