拖动/滑动事件中的问题前端开发中有很多拖动和滑动行为,大多数UI库都封装了这样的事件很多,但是有一个问题这。即当我们需要根据自身情况逻辑定义此类事件时,会有很大的局限性,而且nativecode的实现复制起来非常繁琐,难以管理。resusable-draglibrary的实现概念意识到这个问题后,我开发了一个实现reusabledragging/sliding的函数库。语法结构是指Vue的数据管理结构。这个库的理念是可以高度自定义来实现此类事件,并且具有良好的可扩展性和简单性。github地址:https://github.com/TuiMao233/...npm地址:https://www.npmjs.com/package...本库使用步骤如下。引入库importreusableDragfrom'resusable-drag'定义一个滑动/拖动包consttouch_sliding_screen=newreusableDrag({data(){return{//自定义默认使用的数据,滑动延迟,或者其他数据等//这里定义的数据可以在后续的逻辑wrapper中使用:this.el.querySelector('.wrapper'),pagination:this.el.querySelector('.pagination'),slidingDistance:300,delay:2000,//.....}},mounted(){//定义初始化执行this.el.style.background='rgba(0,0,0,.5)'//....},methods:{//定义行为方法setWidth:function(){//....}},//可重用-drag会检测当前设备类型,当检测到移动设备时,会自动切换到触摸等事件touch:{//定义滑屏事件行为start:function(ev){},move:function(ev){},end:function(ev){}},//resusable-drag会检测当前设备类型,当检测到PC设备时,会自动切换到mouse/*mou等事件se:{//或者在PC端定义拖动事件行为down(ev){},move(ev){},up(ev){}},*/})创建一个拖动/滑动创建一个drag,可以传入自定义数据,数据会覆盖data中的数据,覆盖数据会在事件逻辑中使用300,delay:1000,//mouseclasp:{down(r){},move(r){},up(r){}},//mouseclasp//touchclasp:{start(r){},move(r){},end(r){}}//触扣})
