2016-11-03 30 views
0

私は、メニューの開閉を切り替えるために、タッチイベントとマウスイベントのマージされた観測値に応答しようとしています。問題は、トグルを処理するコードが2回実行されていることです。私はコンソールにイベントをログに記録することによって、これを確認してきた、そしてそれがログに記録されているのと同じイベントです:RxJS 5 fromEvent observable subscribeが2回呼び出されました

export const toggleMenu = (openButton, closeButton) => { 
    return Observable.merge(
    Observable.fromEvent(openButton, 'mousedown'), 
    Observable.fromEvent(closeButton, 'mousedown')) 
     .subscribe((event) => { 
     console.log(event); 
     if (elementIsVisible(nav)) { 
      hideElement(nav); 
     } else { 
      showElement(nav); 
     } 
     }); 
}; 

は、これはすぐにメニューを閉じ、その後開いてしまいます。

+0

jsbinや他の場所でデモを行うことはできますか? – martin

+0

イベントのプリントアウト(コードの6行目)は何ですか? – Meir

答えて

0

これは私の間違いでした。実際の投稿コードは問題ありませんが、この関数を2回呼び出したクラスをインスタンス化していたため、2つのサブスクリプションがありました。

関連する問題