1.安装
npm install better-scroll --save
2.具体使用
1.首先在最外层需要套一个
在wrapper里面只能有一个标签元素,这里得类名可以随意定义
<div class="wrapper" >
<ul class="content">
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
<li>分leu</li>
</ul>
</div>
2.需要设置wrapper的高度
.wrapper{
height: 100px;
width: 100%;
background-color: aqua;
overflow: hidden;
}
3.导入
import Bscroll from "better-scroll"
4..在mounted生命周期函数中使用
mport Bscroll from "better-scroll"
export default {
name:'',
data () {
return {
bs:null
}
},
mounted(){
this.bs=new Bscroll(document.querySelector(".wrapper"),{
})
},
3.监听用户滚动的位置
默认情况下BScroll是不可以实时的监听滚动位置的,需要使用一个probetype
probetype属性值:0,1都是不侦测。2是手指滚动的过程中侦测,手指离开后的惯性不侦测。3.只要是滚动就侦测
mounted(){
this.bs=new Bscroll(document.querySelector(".wrapper"),{
probeType:3
})
this.bs.on("scroll",(position)=>{
console.log(position)
})
},
在**Bscroll的实例后需要加上probetype属性,使用on监听,监听的结果在它的回调函数的position中。**
4.上拉加载
首先在Bscroll的实例后面加上一 个pullUpLoad:true,在使用pullingUp事件
mounted(){
this.bs=new Bscroll(document.querySelector(".wrapper"),{
probeType:3,
pullUpLoad:true
})
this.bs.on("pullingUp",()=>{
//发送网络请求,请求更多页数据
console.log("下拉加载更多")
//等数据请求完成,并且将新的数据展示出来后
this.bs.finishPullUp()
})
},
5.封装
这里scope是作用域的意思,只在当前作用域中起作用,也就是在当前作用域中起作用。