Vue.js:ページネーション実装!データ読み込みコンポーネント作成
下記の手順に従って、次のページのデータをロードするコンポーネントを作成する必要があります。
- LoadMoreという名前のコンポーネントを作成して、そのコンポーネントにはボタンや他のインタラクティブな要素が含まれており、次のページのデータをロードする操作をトリガーすることができます。例えば、
<template>
<button @click="loadNextPage">加载更多</button>
</template>
<script>
export default {
methods: {
loadNextPage() {
// 在这里触发加载下一页数据的操作
// 可以通过调用父组件传递的方法来实现
this.$emit('load-next-page');
}
}
}
</script>
- LoadMoreコンポーネントを親コンポーネントにインポートし、次のページのデータをロードするためのメソッドを渡してください。
<template>
<div>
<!-- 显示当前页面数据 -->
<ul>
<li v-for="item in items" :key="item.id">{{ item.name }}</li>
</ul>
<!-- 加载下一页数据的按钮 -->
<LoadMore @load-next-page="loadNextPage"></LoadMore>
</div>
</template>
<script>
import LoadMore from './LoadMore.vue';
export default {
components: {
LoadMore
},
data() {
return {
items: [], // 存储当前页面数据
page: 1 // 当前页数
};
},
methods: {
loadNextPage() {
// 在这里加载下一页数据的方法
// 可以通过接口请求或其他方式获取数据
// 在成功获取数据后,将数据添加到 items 中
this.page++;
// 此处为示例,你需要根据实际情况进行修改
this.items = this.items.concat(newData);
}
}
}
</script>
したがって、ユーザーが LoadMore コンポーネントのボタンをクリックすると、親コンポーネント内の loadNextPage メソッドが呼び出され、次のページのデータを読み込む機能が実現されます。必要に応じて、LoadMore および親コンポーネント内のデータ読み込みロジックを変更することができます。