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

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

数据更新之前调用

数据已更新

相关推荐
bluceli19 小时前
Vue 3 Composition API深度解析:构建可复用逻辑的终极方案
前端·vue.js
程序员ys19 小时前
前端权限控制设计
前端·vue.js·react.js
滕青山19 小时前
腾讯域名拦截查询 在线工具核心JS实现
前端·javascript·vue.js
wuhen_n21 小时前
TypeScript 强力护航:PropType 与组件事件类型的声明
前端·javascript·vue.js
wuhen_n21 小时前
组件设计原则:如何设计一个高内聚、低耦合的 Vue 组件
前端·javascript·vue.js
独泪了无痕1 天前
Vue调试神器:Vue DevTools使用指南
vue.js·前端工程化
齐生11 天前
iOS 知识点 - 渲染机制、动画、卡顿小集合
笔记
优秀稳妥的JiaJi1 天前
基于腾讯地图实现电子围栏绘制与校验
前端·vue.js·前端框架
好雨知时节t1 天前
Pinia中defineStore的使用方法
vue.js
_Eleven2 天前
Pinia vs Vuex 深度解析与完整实战指南
前端·javascript·vue.js