我用ng4写了一个触摸滑动组件,部分代码如下:lettouchstart=Observable.fromEvent(this.el.nativeElement,'touchstart')lettouchmove=Observable.fromEvent(this.el.nativeElement,'touchmove')lettouchend=Observable.fromEvent(this.el.nativeElement,'touchend')touchstart.map((start:any)=>{returnnewPosition(start.touches[0].pageX,start.touches[0].pageY)}).subscribe(start=>{this.duration=0;this.touchObject.start=starttransObject.start=newPosition(this.trans.x,this.trans.y)});......这个组件是fixed在最上层的,他响应触摸滑动的时候,它下面的内容也会跟着一起滑动,有什么办法能够只让它自己滑动呢?
2 回答

叮当猫咪
TA贡献1776条经验 获得超12个赞
没试过。试试Observable加个filterlettouchstart=Observable.fromEvent(this.el.nativeElement,'touchstart').pipe(filter((evt:any)=>evt.target==this.el.nativeElement))或者加个tap中阻止冒泡试试。lettouchstart=Observable.fromEvent(this.el.nativeElement,'touchstart').pipe(tap((evt:any)=>evt.stopPropagation()))Rxjs5+

三国纷争
TA贡献1804条经验 获得超7个赞
不知道你说的这个组件和下面的内容是不是在一个组件里面,如果在一个组件里面的话,只需要监听具体的元素就可以了。letupperElement=this.el.nativeElement.querySelector("upperElement");lettouchstart=Observable.fromEvent(upperElement,'touchstart');lettouchmove=Observable.fromEvent(upperElement,'touchmove');lettouchend=Observable.fromEvent(upperElement,'touchend');
添加回答
举报
0/150
提交
取消