vue中使用better-scroll插件

vue中使用better-scroll插件

1、效果
在固定区域实现下拉滚动
在这里插入图片描述
2.安装better-scroll插件
npm install better-scroll --save
3.代码

<template>
//这里的名字可以不叫wrapper可以改成别的,但是一定要记住,这个div底下只能有一个根目录
  <div class="wrapper">
    <ul class="content">
      <li>1</li>
      <li>1</li>
      <li>1</li>
      <li>1</li>
       <li>1</li>
      <li>1</li>
       <li>1</li>
      <li>1</li>
       <li>1</li>
      <li>10</li>
       <li>10</li>
      <li>10</li>
      <li>10</li>
       <li>10</li>
      <li>10</li>
      <li>10</li>
       <li>10</li>
      <li>10</li>
    </ul>
  </div>
</template>

<script>
//引入插件
import BScroll from 'better-scroll'
  export default {
    name : 'Classify',
    data(){
      return{
      //定义scroll来接收BScroll实例
        scroll:null
      }
    },
    created() {
     
    },
    //要在挂载到实例后使用,不然获取不到Dom元素
    mounted(){
      console.log(document.querySelector('.wrapper'))
     // 把挂载后的实例赋值给定义在data的参数里面,防止被销毁
      this.scroll= new BScroll(document.querySelector('.wrapper'),{
      //  要不要实时监测滚动的位置   
      // 0和1都是不侦测,
      //2是侦测,在手指滚动的过程中侦测,手指离开后的惯性滚动中不侦测
      //3.只要是滚动,都侦测
       probeType:2,
       pullUpLoad:true
     })
    //  实时监听滚动的位置
      this.scroll.on('scroll',(position) => {
        // console.log(position)
      })
      // 监听下拉到底部加载下一页,等数据请求完成,并且将新的数据展示出来后,一定要执行this.scroll.finishPullUp(),如果我不执行这个语句,它只会执行一次加载更多
       this.scroll.on('pullingUp',() => {
        console.log('--加载更多')

        // 等数据请求完成,并且将新的数据展示出来后,如果我不执行这个语句,它只会执行一次加载更多
        this.scroll.finishPullUp()
      })
    }
  }
</script>

<style>
.wrapper{
  height: 150px;
  background-color: rosybrown;
  overflow: hidden;
}
</style>

注意:
1.这里的名字可以不叫wrapper可以改成别的,但是一定要记住,你挂载实例的Dom元素底下只能有一个根目录,这个根目录里面可以包含多个元素
2. //要在mounted中实例化,因为Mounted是挂载到实例上去之后调用,可以获取到Dom元素,在created中获取不到Dom元素
3. 监听下拉到底部加载下一页,等数据请求完成,并且将新的数据展示出来后,一定要执行this.scroll.finishPullUp(),如果不执行这个语句,它只会执行一次

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的大致思路和步骤。通过合理运用这两个工具,我们可以轻松地实现出一个流畅、友好的用户界面效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值