借助better-scroll实现区域滚动

1、安装

npm install better-scroll

2、引入,在要使用该插件的vue文件中js代码之前引入

import BScroll from 'better-scroll'

3、在vue中实例化better-scroll

如果不是动态生成的标签,直接在引入插件之后实例化就可以了

let wrapper = this.$refs.wrapper
this.scroll = new BScroll(wrapper)

如果是动态生成的标签,要在DOM更新之后才可以操作DOM,先在methods中定义方法,然后在created()函数里this.$nextTick()中初始去调用这个初始化方法

better-scroll 是作用在外层父容器上的,滚动的部分是子元素。这里要注意的是,better-scroll 只处理容器父的第一个子元素的滚动,其它的元素都会被忽略。

created () {
  this.$nextTick(() => {
    this.initScroll()
  })
},
methods:{
  initScroll(){ //实例化       
    let product= this.$refs.product   //给需要区域滚动的内容的父盒子添加ref属性
    this.product= new BScroll(product, {click: true})   //better-scroll 默认会阻止浏览器的原生 click 事件,需要配置一下click属性
}

 

Logo

前往低代码交流专区

更多推荐