rxjs中可以做到在流之间转换,其中一个转载请注明出处:www.tangshuang.net【版权所有】唐霜 www.tangshuang.net就是switch,它的意思和英文意思一样本文版权归作者所有,未经授权不得转载。【未经授权禁止转载】,即从一个流切换到另外一个流。但是,单纯【转载请注明来源】【原创内容,转载请注明出处】从一个流切换到另外一个流是没有意义的,需【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。要将前一个流中的数据在切换时,要将它的数【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。据传给下一个流中去使用。rxjs中的sw著作权归作者所有,禁止商业用途转载。未经授权,禁止复制转载。itchMap就是要做这样一件事,它接收【关注微信公众号:wwwtangshuangnet】著作权归作者所有,禁止商业用途转载。一个函数,这个函数的参数是上一个流遗留下原创内容,盗版必究。【关注微信公众号:wwwtangshuangnet】来的数据,而它需要返回一个新的流,这个流原创内容,盗版必究。【转载请注明来源】中你可以使用上一个流遗留下来的数据。
原创内容,盗版必究。【原创内容,转载请注明出处】【访问 www.tangshuang.net 获取更多精彩内容】【原创内容,转载请注明出处】Rx.Observable.fromEvent(document, ‘mousedown’)
.map(e => e.target)
.switchMap(target => Rx.Observable.fromEvent(document, ‘mousemove’).map(e => {
return {
startX: target.offsetX,
startY: target.offsetY,
moveX: e.pageX,
moveY: e.pageY,
}
}))
.subscribe(pos => console.log(pos))
你可以看到,switchMap里面的函数【转载请注明来源】【版权所有】唐霜 www.tangshuang.net接收mousedown这个流给的targ【未经授权禁止转载】原创内容,盗版必究。et,然后再返回一个新的关于mousem著作权归作者所有,禁止商业用途转载。【本文受版权保护】ove的流,并且对这个新的流作map处理【版权所有,侵权必究】【本文受版权保护】,过程中把前面的target也用上了。在著作权归作者所有,禁止商业用途转载。【本文受版权保护】switch发生的时候,mousedow【原创不易,请尊重版权】【访问 www.tangshuang.net 获取更多精彩内容】n的事件监听就给丢掉了。后面就全是跟mo【本文首发于唐霜的博客】著作权归作者所有,禁止商业用途转载。usemove相关的监听。
【转载请注明来源】著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。【原创内容,转载请注明出处】总结一下,rxjs里面的switch就是【本文首发于唐霜的博客】原创内容,盗版必究。切换流的操作,切换的时候,前一个流会被丢原创内容,盗版必究。本文作者:唐霜,转载请注明出处。掉。
著作权归作者所有,禁止商业用途转载。【作者:唐霜】【本文受版权保护】
