Ich versuche, auf eine zusammengeführte Observable Touch- und Mousedown-Ereignisse zu reagieren, um ein Menü zu öffnen/schließen. Das Problem besteht darin, dass der Code für die Umschaltfunktion zweimal ausgeführt wird. Ich habe bestätigt, dass es durch das Ereignis an die Konsole angemeldet hat, und es ist das gleiche Ereignis, das protokolliert:RxJS 5 vonEreignis beobachtbar abonnieren zweimal aufgerufen
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);
}
});
};
So endet diese Öffnung dann sofort das Menü zu schließen.
Können Sie eine Demo auf Jsbin oder woanders machen? – martin
Wie lautet der Ausdruck der Ereignisse (Zeile 6 in Ihrem Code)? – Meir