分页组件
<template>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[100, 200, 300, 400]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="400">
</el-pagination>
</template>
<script>
export default {
methods: {
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
}
},
data() {
return {
currentPage: 5
};
}
}
</script>
改变分页
如果我们想改变current-page绑定的值,在运行中改变,不是在定义时,那么你可能会这么写:
mounted():{
this.changeCurrent()
},
methods:{
changeCurrent(){
this.currentPape = 6
}
}
实际效果
可能并非如你所愿,运行中改变了currentPage,但是挂载时采用的是原始currentPage,即定义时的值。在mounted中改变的值,是在nextTick才会生效,不是在本次加载时生效。
修改变化
created(){
this.changeCurrent()
}
修改变化的时间节点,我们采用在组件生成之后未挂载之前进行改变,那么加载之后就是我们变化后的值。
总结
理解vue组件生命期,对于动态变化的逻辑很有帮助。