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
観測可能な耳を傾け、ユーザーがメニューの表示を切り替えることができます:これは私がこれまでに得たものです。 2番目に観測されるhideStream
は、現在の状態が何であってもメニューを非表示にできる必要があります。
これは意図したとおりの動作ですが、より良い方法があるかどうかは疑問でした。 hideStreamをマージするとき、私にはかなり大丈夫に見えるhttps://jsbin.com/hozozolune