Vue3生命周期

文章目录


前言

组件从创建到销毁的整个过程就是生命周期

钩子函数

提示:VUE3生命周期:

1、创建初始化

  1. 实例创建之前:beforeCreate
  2. 实例创建完毕:created

2、DOM挂载

  1. DOM挂载之前:beforeMount
  2. DOM挂载完毕:mounted

3、数据更新

  1. 数据更新之前:beforeUpdate
  2. 数据更新完毕:updated

4、结束 DOM 卸载

  1. 结束 DOM 卸载之前:beforeUnmount
  2. 结束 DOM 卸载完毕:unmounted

每一个阶段都有两个钩子函数,每一个钩子函数都是一个配置项

最常用的是:mounted 函数

实际应用中,在挂载完成钩子函数中,要发送请求给后端程序,获取后端返回的真实数据

代码展示1

使用Vue.js实现生命周期演示页面

提示:以下是本篇文章正文内容,下面案例可供参考

下面代码展示了Vue.js框架中,不同生命周期钩子函数的基本功能和使用方法,以及如何在不同的阶段执行相应的操作。

javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <h1>创建初始化  挂载  更新  结束挂载----(vue生命周期)</h1>
        <h1 @click="f1">{{name}}</h1>
        <p v-for="(item, index) in businesslist">{{item}}</p>
    </div>
</body>
<script src="../js/vue3.js"></script>
<script>
    let vm = Vue.createApp({
        data() {
            return {
                name: '猫抓',
                gamelist: []
            }
        },
        methods: {
            f1(){
                this.name = this.name+'老鼠'
            }
        },
        beforeCreate() {
            console.log('创建初始化之前');
        },
        created() {
            console.log('创建初始化完成');
        },
        beforeMount() {
            console.log('挂载之前');
        },
        mounted() {
            console.log('挂载完成');
            // 实际应用中,在挂载完成钩子函数中,要发送请求给后端程序,获取后端返回的真实数据
            this.gamelist.push('汤姆')
            this.gamelist.push('杰瑞')
            this.gamelist.push('斯派克')
        },
        beforeUpdate() {
            console.log('更新之前');
        },
        updated() {
            console.log('更新结束');
        },
        beforeUnmount() {
            console.log('结束挂载之前');
        },
        unmounted() {
            console.log('结束挂载完成');
        },
    })

    vm.mount('#app')
</script>
</html>

输出效果:

在控制台输入vm . unmount()结束(实例名字叫vm)

上面的代码是一个使用Vue.js实现生命周期演示页面的示例。

其中包括了Vue.js提供的生命周期钩子函数,分别是:beforeCreatecreatedbeforeMountmountedbeforeUpdateupdatedbeforeUnmountunmounted

这些钩子函数会在不同的阶段被调用,用于对应阶段的操作。

在页面中,定义了一个id为"app"的div容器,其中包含了一个标题和一个通过v-for指令遍历businesslist数组的p标签。

在Vue实例中,定义了两个数据属性:namegamelist(模拟猫和老鼠游戏为例),以及一个方法f1。对应的生命周期钩子函数中分别输出了相应的信息,以便在控制台中查看功能实现的过程。

代码展示2

引入

创建:setup

挂载:onBeforeMountonMounted

更新:onBeforUpdateonUpdated

卸载:onBeforeUnmountonUnmounted

相关推荐
2401_859049089 小时前
git submodule update --init --recursive无法拉取解决
前端·chrome·git
这是个栗子10 小时前
【Vue代码分析】前端动态路由传参与可选参数标记:实现“添加/查看”模式的灵活路由配置
前端·javascript·vue.js
刘一说10 小时前
Vue 动态路由参数丢失问题详解:为什么 `:id` 拿不到值?
前端·javascript·vue.js
熊猫钓鱼>_>10 小时前
动态网站发布部署核心问题详解
前端·nginx·容器化·网页开发·云服务器·静态部署
方也_arkling10 小时前
elementPlus按需导入配置
前端·javascript·vue.js
爱吃大芒果10 小时前
Flutter for OpenHarmony 实战: mango_shop 资源文件管理与鸿蒙适配
javascript·flutter·harmonyos
我的xiaodoujiao11 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 44--将自动化测试结果自动推送至钉钉工作群聊
前端·python·测试工具·ui·pytest
沛沛老爹11 小时前
Web开发者转型AI:多模态Agent视频分析技能开发实战
前端·人工智能·音视频
David凉宸11 小时前
vue2与vue3的差异在哪里?
前端·javascript·vue.js
Irene199111 小时前
JavaScript字符串转数字方法总结
javascript·隐式转换