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

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

数据更新之前调用

数据已更新

相关推荐
徐小夕15 小时前
万字拆解 JitWord:企业级实时协同文档底层架构 + 大模型 AI 融合完整实践
前端·vue.js·github
用户831348593069817 小时前
Cesium实现雾气效果:按钮一键控制打开/关闭雾气效果,滑块拖动实时控制雾气浓度
vue.js·cesium
锋行天下19 小时前
如何用Vite实现Vue组件的按需打包和远程加载
前端·vue.js·前端框架
用户9004633704019 小时前
用Gemini搞定Vue报错和语法异常的问题
vue.js
小兔崽子去哪了1 天前
Vue3 + Pinia 集成 IGV.js 实现 BAM 文件在线浏览
javascript·vue.js·后端
OpenTiny社区2 天前
🎨 看完 GenUI SDK 源码我悟了!
前端·vue.js·github
mqcode2 天前
你项目里的 axios,封对了吗?从裸用到生产级的四步进化
vue.js·axios
Linsk2 天前
组件 = 模板 + 业务逻辑
java·前端·vue.js
前端啊2 天前
告别 el-table 打印难题,vue3-print-el-table 来了!
前端·vue.js
AprChell2 天前
低代码设计器和低代码设计引擎架构综述
前端·vue.js·低代码