先说需求:
一个下拉框,后台返回我数据,但是需要无限滑动,后端给定的一个字段是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!!! } }