先说需求:
一个下拉框,后台返回我数据,但是需要无限滑动,后端给定的一个字段是size:12 依次+12,就可以获的12条数据。
前端需要做的就是,当我快滚动到底部的时候,向后台发送size=size+12 的数据,获得数据。
首先在vue环境下
mounted() {
window.addEventListener("scroll", this.handleScroll, true);
},
methods:{
handleScroll(e) {
if (e.path.length > 2) {
let scrollTop = e.target.scrollTop;
let scrollHeight = e.target.scrollHeight;
let viewHeight = 700;
if (scrollHeight - scrollTop < viewHeight) {
if(this.can){
this.can = false //在data里声明一个can 控制重复向后台发送请求
this.srollThing() //当滚动到这里的时候开始准备发送请求了
}
} else {
}
}
},
//滚动后
srollThing(){
this.sizess = this.sizess +12
let data = {
sizes : this.sizess
}
this.getDataList(data) //请求的数据方法
},
getDataList(data){
//发送请求部分略,但是当请求回来的时候,记得给can==true!!!
}
}