要封裝一個加載下一頁數據的組件,你可以按照以下步驟進行:
<template>
<button @click="loadNextPage">加載更多</button>
</template>
<script>
export default {
methods: {
loadNextPage() {
// 在這里觸發加載下一頁數據的操作
// 可以通過調用父組件傳遞的方法來實現
this.$emit('load-next-page');
}
}
}
</script>
<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 和父組件中的加載數據邏輯。