理解vue3组件的生命周期

组件的生命周期可以这么理解:一个组件从初始化到最终的销毁完整过程。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、陪诊小程序,家政小程序等行业小程序。

程序员小张
世界上只有一种真正的英雄主义,就是认清了生活的真相后还依然热爱生活。
随机文章
开发者前沿网站终于在五一上线了
2024-06-09 13:50:18
创业者怎样找到好的产品创意
2024-06-09 14:12:24
开发者周记12:小程序管理后台新版本
2024-08-23 18:19:28
小木CMS版本更新
2024-10-15 23:04:52
成长创业笔记18:2025我要慢慢完善我的产品,网站上线新版的手机版
2025-01-16 14:47:40