在Vue中实现无限滚动加载更多内容,通常可以使用vue-infinite-loading插件。以下是一个简单的例子:
npm install vue-infinite-loading --save
- {{ item.content }}
没有更多内容了
在这个例子中,infiniteHandler方法会在组件创建时由infinite-loading触发。当用户滚动到页面底部时,会调用这个方法。在这个方法中,我们模拟了异步获取新内容的过程,并通过 s t a t e . l o a d e d ( ) 通知 i n f i n i t e − l o a d i n g 加载完毕。如果没有更多内容可加载,则通过 state.loaded()通知infinite-loading加载完毕。如果没有更多内容可加载,则通过 state.loaded()通知infinite−loading加载完毕。如果没有更多内容可加载,则通过state.complete()告知插件不再需要加载,并显示slot="no-more"中的内容。
如果是要手动加载的,通过点击更多按钮加载,思路简单点:
标签一样使用v-for遍历。
<li v-for="item in items" :key="item.id">{{ item.content }}li>
查看更多按钮
<el-button class="button" type="primary" round @click="loadMore()" :disabled="isDisabled">查看更多el-button>
而更多按钮点击事件只需把内容数组与新内容数组进行拼接即可。
methods:{
loadMore(){
this.items = this.items.concat(moreItems);
}
}