1.scroll无法滚动问题记录:1.wrapper的高度或宽度大于子元素的高度或宽度:有时候,依赖better-scroll来独立检测子元素的高度可能没有及时计算,所以需要在子元素渲染时调用better-scroll的refresh重新计算高度。一般子元素渲染也是一个异步过程,所以数据请求完成后刷新一下就可以了。2、如果勾选了问题1之后,可能是你没有设置ScrollX,或者ScrollY;官网上有一句话:(1)你先配置eventPassthrough事件后,如果你配置的是垂直滚动,那么就不需要设置scrollX,scrollY,因为默认的scrollX:false,scrollY:true;但是当你配置水平滚动的属性时,因为它仍然是默认的scrollX:false,scrollY:true;,所以此时你不能水平或垂直滚动??;因为eventPassthroughis:'verticalscrollY此时无效,又因为scrollX默认设置为false,所以两者其实都是false。注:笔者亲身经历过这个,因为当时垂直滚动没问题,所以在使用水平滚动的时候忽略了这个设置,导致查了很久,浪费了很多时间。3.等坑被踩了,踩完了再补上...2.无法获取元素的宽度:这里可能有错误,因为我在dom元素上设置了v-if,如果改成v-show,应该不会有这个问题,因为v-if会移除元素,可能不会开始渲染。已经想取值了,所以错了,v-show只是修改元素不可见,并没有移除元素,所以这里记录应该有错误,等待消磁再使用Verify。使用$refs的值时无法获取style.width的宽度,即that.$refs.h_classify_L.style.width:长度只能通过使用:that.$refs.h_classify_L.clientWidth获取:output:3.元素点击事件无效:官方文档提到betterScroll会阻止元素的原生点击事件,只需要给出相关配置即可:在这种情况下,确实可以生效。图为我的组件的点击事件,给定click:true;并且所有的元素都设置了cursor:pointer属性,并给出了点击事件:并且图中除了元素More是槽元素外,其他元素都是普通的components元素。鼠标移到组件普通元素上时:鼠标移到组件槽元素上时:鼠标点击组件普通元素时:打印结果:鼠标点击槽元素时:打印结果:无总结:更好的滚动设置click:true,只对普通元素有效,对插槽元素无效。解决方法:只能对元素使用绝对定位或者相对定位,将元素移出组件:打印结果:
