Vue学习笔记之生命周期函数

生命周期示意图如下所示:

  1. beforeCreate:组件初始化之前触发该事件
  2. created:组件初始化完毕触发该事件
  3. beforeMount:Vue应用对象挂载DOM结点之前触发该事件
  4. mounted:DOM结点挂载成功之后触发该事件
  5. beforeUpdate:数据更新之前触发该事件
  6. updated:数据更新之后触发该事件
  7. beforeUnmount:DOM结点卸载之前触发该事件
  8. unmountd:结点卸载之后触发该事件

由此可见触发事件基本是成对出现,具体测试代码如下所示:

html 复制代码
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<div id="app">
    <div>
        <span>文本框</span>
        <p>Message is:{{message}}</p>
        <input v-model="message" placeholder="edit me" />
    </div>
</div>
<script>
    const { createApp } = Vue;
    createApp({
        data(){
            return {
                message: '曹德华'
            }
        },
        beforeCreate() {
            console.log(`组件创建之前调用`);
        },
        created() {
            console.log(`组件已创建`);
        },
        beforeMount() {
            console.log(`组件挂载DOM之前调用`);
        },
        mounted() {
            console.log(`组件已挂载DOM`);
        },
        beforeUpdate() {
            console.log(`数据更新之前调用`);
        },
        updated() {
            console.log(`数据已更新`);
        }
    }).mount('#app');
</script>

控制台输出结果:

组件创建之前调用

组件已创建

组件挂载DOM之前调用

组件已挂载DOM

修改输入框的内容,额外输出内容:

数据更新之前调用

数据已更新

相关推荐
夏天想6 小时前
vue通过iframe引入一个外链地址,怎么保证每次切换回这个已经打开的tab页的时候iframe不会重新加载
前端·javascript·vue.js
式5166 小时前
大模型学习基础(九)LoRA微调原理
人工智能·深度学习·学习
GISer_Jing6 小时前
2026年前端开发目标(From豆包)
前端·学习·aigc
鄭郑6 小时前
【Playwright学习笔记 02】CSS-selector定位
笔记·学习
CCPC不拿奖不改名6 小时前
python基础面试编程题汇总+个人练习(入门+结构+函数+面向对象编程)--需要自取
开发语言·人工智能·python·学习·自然语言处理·面试·职场和发展
Nan_Shu_6146 小时前
学习: Threejs (17)
学习·three.js
2501_937798396 小时前
2026 AI搜索优化监测工具白皮书:免费版VS付费版效能拆解
笔记
Engineer邓祥浩6 小时前
设计模式学习(18) 23-16 迭代器模式
学习·设计模式·迭代器模式
我即将远走丶或许也能高飞6 小时前
reduxjs/toolkit 的学习使用
前端·javascript·学习·reactjs
进阶小白猿7 小时前
Java技术八股学习Day22
java·开发语言·学习