【Vue3】2-11 : 生命周期钩子函数及原理分析

这篇具有很好参考价值的文章主要介绍了【Vue3】2-11 : 生命周期钩子函数及原理分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本书目录:点击进入

一、组件生命周期概述

1.1 官方生命周期

1.2 钩子函数(回调函数)

▶  生命周期可划分为三个部分(- >表示执行循序):

二、实战:测试生命周期流程

>  代码 

>  效果


一、组件生命周期概述

每个组件在被创建时都要经过一系列的初始化过程——例如,

  • 设置数据监听

  • 编译模板

  • 将实例挂载到 DOM 并在数据变化时更新 DOM 等

同时在这个过程中也会运行一些叫做生命周期钩子的函数(回调函数这给了用户在不同阶段添加自己的代码的机会

生命周期钩子函数就是回调函数,在Vue的某个时机去调用对应的回调函数

1.1 官方生命周期

  • 官方提供的 生命周期图示

1.2 钩子函数(回调函数)

【Vue3】2-11 : 生命周期钩子函数及原理分析,架构师之路-java,vue.js,javascript,前端,钩子函数,生命周期

▶  生命周期可划分为三个部分(- >表示执行循序):

  1. 初始阶段:beforeCreate -> created -> beforeMount -> mounted

  2. 更新阶段beforeUpdate -> updated

  3. 销毁阶段beforeUnmout -> unmounted

注:一般在,created,mounted 中都可以发送数据请求,但是,大部分时候,会在created发送请求。因为这样可以更短的时间去响应数据。

二、实战:测试生命周期流程

>  代码 

<div id="app">
    {{ message }}
</div>
<script>

    /* function foo(cb){
      //指定的时机去调用回调函数
      cb();
    }
    foo(function(){
      // 编写复杂的逻辑1
    });
    foo(function(){
      // 编写复杂的逻辑2
    }); */

    let vueApp = Vue.createApp({
        data() {
            return {
                message: 'hello world'
            }
        },
        beforeCreate() {
            console.log("Stage1:开始-初始化实例");
            console.log("beforeCreate-vm:" + this.message);
            console.log("beforeCreate-dom:" + app.innerHTML);
        },
        // 【生命周期】触响应式数据准备好后触发
        created() {
            console.log("created-vm:" + this.message);   // ✔
            console.log("created-dom:" + app.innerHTML);
            setTimeout(() => {
                console.log("Stage2-1:开始-【created阶段】更新数据 - message = hi vue2");
                this.message = 'hi vue2';
            }, 2000)
        },
        beforeMount() {
            console.log("beforeMount-vm:" + this.message);   // ✔
            console.log("beforeMount-dom:" + app.innerHTML);
        },
        // 【生命周期】等DOM加载完毕后会触
        mounted() {
            console.log("mounted-vm:" + this.message);   // ✔
            console.log("mounted-dom:" + app.innerHTML);  // ✔

            setTimeout(() => {
                console.log("Stage2-2:开始-【mounted阶段】更新数据 - message = hi vue3");
                this.message = 'hi vue3';
            }, 4000)

        },
        beforeUpdate() {   // 【生命周期】更新数据时会触
            console.log("beforeUpdate-vm:" + this.message);
            console.log("beforeUpdate-dom:" + app.innerHTML);
        },
        updated() {
            console.log("updated-vm:" + this.message);
            console.log("updated-dom:" + app.innerHTML);
        },
        beforeUnmount() {// 【生命周期】卸载组件时会触
            console.log("beforeUnmount-vm:" + this.message);
            console.log("beforeUnmount-dom:" + app.innerHTML);
        },
        unmounted() {
            console.log("unmounted-vm:" + this.message);
            console.log("unmounted-dom:" + app.innerHTML);   // ''
        }
    })


    vueApp.mount('#app');

    setTimeout(() => {
        //vm.message = 'hi vue';
        console.log("Stage3:开始-卸载组件");
        vueApp.unmount();
    }, 6000)

</script>

>  效果

【Vue3】2-11 : 生命周期钩子函数及原理分析,架构师之路-java,vue.js,javascript,前端,钩子函数,生命周期文章来源地址https://www.toymoban.com/news/detail-810549.html

到了这里,关于【Vue3】2-11 : 生命周期钩子函数及原理分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分析Vue3生命周期

    在Vue中,生命周期是组件从创建到销毁的整个过程中的不同阶段。Vue组件的生命周期主要由一系列的钩子函数(hook functions)组成。 以下是Vue组件生命周期的主要阶段: 1. 创建阶段:    - beforeCreate:在实例被创建之前调用,此时组件的响应式属性和事件还未初始化。    

    2024年01月25日
    浏览(40)
  • 【react】react生命周期钩子函数:

    一、生命周期概念: 生命周期:简单来说就是一个事物从出生到消亡的过程就是生命周期,在React中的生命周期,就是组件从创建、挂载到页面再到卸载组件的过程。 意义:生命周期有助于理解组件运行方式、完成复杂组件功能、分析组件中间问题产生的原因等。 生命周期钩子函数

    2024年02月14日
    浏览(45)
  • Vue3通透教程【七】生命周期函数

    专栏介绍: 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章,应粉丝要求开始更新 Vue3 的相关技术文章,Vue 框架目前的地位大家应该都晓得,所谓三大框架使用人数最多,公司选型最多的框架,凉哥之前在文章中也提到过就是 Vue 框架之所以火起来的原因,和 Vue 框架相比其

    2024年02月02日
    浏览(43)
  • K8s: 关于Kubernetes中的Pod的生命周期(状态)以及生命周期的钩子函数处理

    pod 的生命周期 1 ) pod 几种常用状态 1.1 )Pending(挂起) Pod 已被 Kubernetes 系统接受,但有一个或者多个容器尚未创建亦未运行 此阶段包括等待 Pod 被调度的时间和通过网络下载镜像的时间。 1.2 )Running(运行中) Pod 已经绑定到了某个节点,Pod 中所有的容器都已被创建 至少有

    2024年04月22日
    浏览(58)
  • Vue生命周期--四大阶段--8个钩子之mounted钩子的渲染

    Vue生命周期 :一个Vue实例从创建到销毁的整个过程。 生命周期四个阶段 :创建(响应式数据)-挂载(渲染模板)-更新(修改数据,更新视图)-销毁(销毁实例) eg: 案例——记事本! 1.成果展示 2.需求:商品的添加与删除;价格超过500标红;统计计算总消费;消费账单使用饼图展示

    2024年01月19日
    浏览(59)
  • Vue介绍&如何安装vue&Vue生命周期钩子&MVVM

    目录 1.vue介绍 1.1 什么是vue 1.2 vue的优点 2. 库和框架的区别 2.1 库 2.2 框架 3. MVVM 4. 安装vue 5.开发示例 5.1 vue实例 5.2 绑定事件 5.3 Vue双向数据绑定 6. Vue生命周期钩子 vue是一个构建用户界面UI的渐进式javascript框架,渐进式的框架是指可以一步一步的由浅入深的去使用这个框架,

    2024年02月07日
    浏览(41)
  • 微信小程序中的所有生命周期钩子函数及其使用方法

    onLaunch(options) :小程序初始化时触发,全局只触发一次。 onShow(options) :小程序启动或从后台进入前台显示时触发。 onHide() :小程序从前台进入后台时触发。 onError(error) :小程序发生脚本错误或 API 调用失败时触发。 onLoad(options) :页面加载时触发,可以获取页面参数。 onS

    2024年02月09日
    浏览(44)
  • Vue - 实现类似小程序 onShow() 一样的生命周期钩子方法(监听页面的显示,只要页面显示就执行代码)

    我们都知道,在微信小程序和 uni-app 项目中,页面有一个 onShow() 生命周期,当页面显示时就会触发。 但在 Vue.js / Nuxt.js 项目中是没有这个钩子函数的, 本文将提供 最简单、高效 的解决方案, 另外兼容性亲测完美。 如下效果图所示,首页每次显示的时候都会触发(您看控制

    2024年02月11日
    浏览(46)
  • vue3生命周期

    vue3也提供了Composition API形式的生命周期钩子,与vue2.x中钩子对应关系如下: beforeCreate = setup() created = setup() beforeMount =onBeforeMount mounted onMounted beforeUpdate onBeforeUpdate updated onUpdated beforeUnmount onBeforeUnmount unmounted ===onUnmounted HomeView.vue App.vue 结果:

    2024年02月12日
    浏览(41)
  • vue3-生命周期

    生命周期 vue 组件实例都有自己的一个生命周期 从创建-初始化数据-编译模版-挂载实例到 DOM-数据变更后更新 DOM -卸载组件 生命周期简单说就是 vue 实例从创建到销毁的过程 生命周期钩子 在各个周期运行时,会执行钩子函数,让开发者有机会在特定阶段运行自己的代码。这就

    2024年01月25日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包