Vue中better-scroll插件的使用

实现原理:父容器固定高度,并设置属性overflow: hidden,使得子元素高度超出容器后能被隐藏。better-scroll作用在父容器上。
1、npm安装better-scroll插件。npm install--save better-scroll
2、在文件中引入better-scroll。import BScroll from 'better-scroll';
用法:
new BScroll(Dom对象,{//opsitons});
在Vue中要获得Dom对象,需设置标签属性‘v-el’。
例如:<div v-el:betterscroll></div>
获取dom对象,this.$els.betterscroll
为了让子元素能被点击,需设置click:true.并可接受此点击事件@click="info($index,$event)"

注意:Vue中数据更新是异步的,在数据还没有加载完之前,BScroll是无法获取目标内容容器的高度的,就会出现无法滚动的现象。
这里可以用$nextTick()解决。
vue官方是这样说明的

nextTick应该被用在某些计算属性或者watch再或者某个按钮click事件绑定的methods当中。这时,nextTick才能保证你的数据更新完成之后再执行你绑定的函数。
实例用法:

注意:在PC上,点击事件会执行两次。由于better-scroll派发的事件有event_constructed:true属性。可以进行处理。


  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue是一种用于构建用户界面的渐进式JavaScript框架,它可以帮助开发者更高效地构建单页面应用程序。而vue-better-scroll是基于Vue的一款优秀的滚动插件,它能够实现更流畅的滚动效果,并且支持上下左右的滚动和联动效果。 如果需要实现左右侧菜单的联动效果,我们可以通过使用vue-better-scrollscrollToElement方法来实现。首先,我们需要在Vue引入vue-better-scroll插件并进行配置。 在Vue实例的data,我们可以定义左右两个菜单的数据,例如leftMenu和rightMenu,并在created生命周期初始化数据。然后,在mounted生命周期,我们可以通过refs属性获取到两个菜单容器的DOM元素。 接下来,我们需要监听左边菜单的点击事件,当点击左边菜单的某个选项时,我们可以通过调用vue-better-scrollscrollToElement方法,将右边菜单滚动到对应的位置。通过传递目标元素的选择器或具体的DOM元素,我们可以实现左右菜单的联动效果。 具体实现时,我们可以在左边菜单的点击事件使用this.$refs来访问右边菜单容器,并调用scrollToElement方法,将目标元素滚动到可视区域。通过传递选择器或具体DOM元素作为参数,我们可以精确控制滚动的位置。 同时,为了视觉上更好的效果,我们还可以给目标元素添加样式,如高亮当前选项,以提升用户体验。 最后,通过一系列的事件处理和样式设置,我们就可以实现左右侧菜单的联动demo了。 以上就是使用Vuevue-better-scroll实现左右侧菜单联动demo的大致思路和步骤。通过合理运用这两个工具,我们可以轻松地实现出一个流畅、友好的用户界面效果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值