Je suis assez nouveau pour le concept de programmation réactive, et je ne fais que jouer un peu. Pour mettre en pratique ce que j'ai appris, j'ai décidé d'écrire du code en utilisant RxJS dans un projet réel et tout va bien.Créer un bouton à bascule avec RxJS
Maintenant, je veux créer un simple bouton à bascule:
let btn = $('button')[0]
let clicks = Rx.Observable.fromEvent(btn, 'click')
.map(function(clickEvent) {
// decide to return true/false
})
clicks.subscribe(value => {
// value is true or false
})
Je ne peux pas obtenir ma tête autour de cet exercice très simple sans utiliser des méthodes DOM dans mon flux. En fait, j'ai juste besoin de la dernière valeur du flux, puis je l'inverse (valeur !!);
Comment puis-je l'implémenter?
Cool, merci! C'est pourquoi je ne pouvais pas comprendre :). Je vais jeter un coup d'oeil à la numérisation. – codeorelse
Cela donne une erreur dans la cour RxVision: 'TypeError: accumulateur est pas un function' – codeorelse
mmhh puis essayez' .scan ({! retour current_state;} button_initial_state, fonction (current_state, événement)) '. Le problème est que la signature de la fonction est différente selon la version de Rxj que vous utilisez. Dans un cas, la graine est le premier argument, dans l'autre, la graine est la dernière. Je ne sais pas quelle version utilise RxVision, donc vérifiez les deux possibilités – user3743222