组件的生命周期可以这么理解:一个组件从初始化到最终的销毁完整过程。Vue.js组件的生命周期给予我们多个关键钩子来介入和定制组件的行为。理解组件的生命周期在开发中非常重要。
组件生命周期钩子:
挂载:组件第一次渲染到页面上,包含 onBeforeMount 和 onMounted。
更新:当组件的数据发生变化时,会触发更新阶段。在此阶段,组件会根据新的数据重新渲染。包含onBeforeUpdate和onUpdated。
卸载:当组件从 DOM 中移除时进入此阶段。包含onBeforeUnmount和onUnmounted。在这一阶段,组件将清理它自己,例如通过v-if方法来判断是否显示该组件。
看下具体的栗子吧:
准备好2个组件:news跟about两个组件。
在News.vue文件中列出组件的生命钩子,在适当的时候触发他们。
<template>
<div style="color:#333">{{ isshow }}</div>
<a-button type="primary" @click="changeData">点我</a-button>
</template>
<script setup>
import { onMounted,onBeforeMount,onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted } from 'vue';
import { reactive,ref } from 'vue';
const isshow = ref(true)
const changeData = ()=>{
if(isshow.value){
isshow.value=false;
}else{
isshow.value=true;
}
}
//组件挂载
//挂载前
onBeforeMount(()=>{
console.log('onBeforeMount');
})
//挂载后
onMounted(()=>{
console.log('onMounted');
})
//组件数据更新
//更新前
onBeforeUpdate(()=>{
console.log('onBeforeUpdate');
})
//更新后
onUpdated(()=>{
console.log('onUpdated');
})
//组件卸载
//卸载前
onBeforeUnmount(()=>{
console.log('onBeforeUnmount');
})
//卸载后
onUnmounted(()=>{
console.log('onUnmounted');
})
</script>
<style scoped>
</style>
打开页面的时候就触发了onBeforeMount和onMounted方法,在控制台可以看到输出:
点击页面中的 “点我” 按钮可以触发组件生命周期中的更新钩子。
点击之前:
点击之后:
可以在控制台中可以看到只要一点击按钮就触发:onBeforeUpdate跟onUpdated方法,页面中的值也随之发生变化。
接下来要将news组件在页面中卸载掉,来触发onBeforeUnmount跟onUnmounted,点击 “关于” 按钮来切换组件:
在这里祝大家新的一年身体健康,工作顺利,Make More Money!
------------------ 华丽分割线 ------------------
欢迎大家阅读我的创业笔记,如果你觉得这篇写得不错的话,可以关注我的公众号: 成长创业笔记 ;每周不见不散。
我是一名独立开发者。欢迎大家跟我交流软件开发、软件运营的一切事情,包括网站建设,小程序开发,app开发。
微信号:zstxinghui
更欢迎大家使用我的APP
1、松鼠天气,简洁的天气预报,节日日历工具。
2、陪诊小程序,家政小程序等行业小程序。