Rxjs 按下按钮时如何发出值?
我有一个按钮-Rxjs 按下按钮时如何发出值?,rxjs,Rxjs,我有一个按钮- 该按钮应在每次按下时增加输入字段的值。那很容易。我不知道的是如何在按下按钮时周期性地增加值,并在用户离开按钮或取消按下按钮时停止。以下是所有参与事件的可观察结果。我需要以某种方式将它们结合起来,以达到预期的效果。有什么帮助吗 const click = Observable.fromEvent(button, 'click'); const mousedown = Observable.fromEvent(button, 'mousedown'); const mouseup =
该按钮应在每次按下时增加输入字段的值。那很容易。我不知道的是如何在按下按钮时周期性地增加值,并在用户离开按钮或取消按下按钮时停止。以下是所有参与事件的可观察结果。我需要以某种方式将它们结合起来,以达到预期的效果。有什么帮助吗
const click = Observable.fromEvent(button, 'click');
const mousedown = Observable.fromEvent(button, 'mousedown');
const mouseup = Observable.fromEvent(button, 'mouseup');
const mouseleave = Observable.fromEvent(button, 'mouseleave');
以下是观察家:
const observer = () => {
console.log('click');
};
换句话说,我正在尝试使我的按钮与输入元素上的本机箭头按钮类似,类型为number。我想我得到了:
const button = document.getElementById('button');
const click = Rx.Observable.fromEvent(button, 'click');
const mousedown = Rx.Observable.fromEvent(button, 'mousedown');
const mouseup = Rx.Observable.fromEvent(button, 'mouseup');
const mouseleave = Rx.Observable.fromEvent(button, 'mouseleave');
const observer = () => {
console.log('click');
}
click.subscribe(observer);
const notifier = mouseup.merge(mouseleave);
const final = mousedown
.switchMap(e => {
return Rx.Observable.interval(200).takeUntil(notifier);
})
.subscribe(observer);