这篇文章主要为大家详细介绍了使用vue-infinite-scroll实现无限滚动效果,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!
vue-infinite-scroll插件可以无限滚动实现加载更多,其作用是是当滚动条滚动到距离底部的指定高度时触发某个方法。
https://github.com/ElemeFE/vue-infinite-scroll/
https://www.npmjs.com/package/vue-infinite-scroll
代码如下:
npm i vue-infinite-scroll --save
代码如下:
import vueiInfinite from 'vue-infinite-scroll'
Vue.use(vueiInfinite)
<div v-infinite-scroll="loadMore" infinite-scroll-disabled="busy" infinite-scroll-distance="10">
<div class="loading">加载中...</div>
</div>
1.loadMore是方法,里面是要执行的代码
2.busy的值是true的时候,就不再加载,如果是false就执行加载
3.10表示距离底部为10 的时候就执行loadMore方法
代码如下:
loadMore () {
this.busy = true
//把busy置位true,这次请求结束前不再执行
setTimeout(() => {
this.page++
this.getGoodLists(true)
//调用获取数据接口,并且传入一个true,让axios方法指导是否需要拼接数组。
}, 500)
}
getGoodLists (flag) {
var param = {
page: this.page,
pageSize: this.pageSize,
sort: this.sortFlag ? 1 : -1
}
axios.get('/goods', {params: param}).then((response) => {
let res = response.data
if (flag) {
this.goodList = this.goodList.concat(res.result.list)
//如果是flagtrue,则拼接数组。
if (res.result.count === 0) {
this.busy = true
} else {
this.busy = false
}
} else {
this.goodList = res.result.list
this.busy = false
第一次进来的时候,把busy置位false。执行loadMore的方法
}
})
},
以上所述是小编给大家介绍的使用vue-infinite-scroll实现无限滚动效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对四海网网站的支持!
本文来自:http://www.q1010.com/184/5384-0.html
注:关于使用vue-infinite-scroll实现无限滚动效果的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:vue.js
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。