Vue生命周期实例分析总结

 更新时间:2022年10月03日 11:27:11   作者:月光晒了很凉快  
Vue的生命周期就是vue实例从创建到销毁的全过程,也就是new Vue()开始就是vue生命周期的开始。Vue实例有⼀个完整的⽣命周期,也就是从开始创建、初始化数据、编译模版、挂载Dom->渲染、更新->渲染、卸载等⼀系列过程,称这是Vue的⽣命周期

1. 概述

每个 Vue 实例在被创建之前都要经过一系列的初始化过程。例如需要设置数据监听、编译模板、挂载实例到 DOM、在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,给予用户机会在一些特定的场景下添加他们自己的代码。

简单来说,生命周期钩子函数就是一堆回调函数,在我们创建实例时,这些回调函数按顺序执行。

2. 页面钩子函数

名称作用
beforeCreate在实例初始化之后,数据观测和事件配置之前被调用。此时 data 和 methods 以及页面的DOM结构都没有初始化,什么都做不了,执行1次
created在实例创建完成后被立即调用,此时data 和 methods 已经可以使用,但是页面还没有渲染出来,执行1次,用this对象
beforeMount在挂载开始之前被调用,此时页面上还看不到真实数据,只是一个模板页面而已,执行1次
mountedel被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子。 数据已经真实渲染到页面上 在这个钩子函数里面,可以进行数据请求等,执行1次
beforeUpdate数据更新时调用,页面上数据还是旧的 n次
updated由于数据更新完毕,页面上数据已经替换成最新的 n次
beforeDestroy实例销毁之前调用,执行1次
destroyed实例销毁后调用,执行1次
activatedkeep-alive 组件激活时调用
deactivatedkeep-alive 组件停用时调用
errorCaptured当捕获一个来自子孙组件的错误时被调用

3. 生命周期函数

下面我们用代码实现以下生命周期函数的执行顺序:

<div id="app">
    <input type="text" v-model="username">
</div>
<script>
    const vm = new Vue({
        el: '#app',
        data: {
            username: ''
        },
        // 初始化阶段生命周期  -- 它只都只执行1次
        beforeCreate() {
            console.log('beforeCreate');
        },
        created() {
            console.log('created');
        },
        beforeMount() {
            console.log('beforeMount');
        },
        mounted() {
            console.log('mounted');
            setTimeout(() => {
                // 销毁
                this.$destroy()
            }, 2000);
            this.timer = setInterval(() => {
                console.log(111);
            }, 1000);
        },
        // 更新阶段生命周期,它们会执行N次
        beforeUpdate() {
            console.log('beforeUpdate');
        },
        updated() {
            console.log('updated');
        },
        // 销毁阶段  只执行1次
        beforeDestroy() {
            clearInterval(this.timer)
            console.log('beforeDestroy');
        },
        destroyed() {
            console.log('destroyed');
        }
    })
</script>

到此这篇关于Vue生命周期实例分析总结的文章就介绍到这了,更多相关Vue生命周期内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue3中实现使用element-plus调用message

    vue3中实现使用element-plus调用message

    这篇文章主要介绍了vue3中实现使用element-plus调用message,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Vue mixins详解与使用技巧

    Vue mixins详解与使用技巧

    Vue mixins提供了一个非常灵活的方式来分发Vue组件中的可复用功能,通过全局混入和局部混入,可以将预定义的方法、数据等混合到Vue组件中,这种技术可以简化代码,提高开发效率,并允许在不同组件间共享功能
    2024-09-09
  • vue axios 封装请求拦截多次弹窗的问题及解决

    vue axios 封装请求拦截多次弹窗的问题及解决

    这篇文章主要介绍了vue axios 封装请求拦截多次弹窗的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • 原生JS实现Vue transition fade过渡动画效果示例

    原生JS实现Vue transition fade过渡动画效果示例

    这篇文章主要为大家介绍了原生JS实现Vue transition fade过渡动画效果示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • VUE动态绑定class类的三种常用方式及适用场景详解

    VUE动态绑定class类的三种常用方式及适用场景详解

    文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设计确定是否使用多个样式
    2025-01-01
  • 基于Vue3实现百度地图位置选择器组件

    基于Vue3实现百度地图位置选择器组件

    在开发前端应用时,地图选择器是一个非常常见的需求,本文将一步步展示如何使用 Vue 3 和 Element Plus 来实现一个百度地图位置选择器组件,有需要的可以参考一下
    2025-04-04
  • vue3 hook自动导入原理解析

    vue3 hook自动导入原理解析

    这篇文章主要介绍了vue3 hook自动导入的原理,介绍了API的自动导入及组件的自动导入,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • vue判断内容是否滑动到底部的三种方式

    vue判断内容是否滑动到底部的三种方式

    这篇文章主要介绍了vue判断内容是否滑动到底部的三种方式,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-04-04
  • 一文详解Vue3中的14种组件通信方式

    一文详解Vue3中的14种组件通信方式

    对于日常使用vue3开发项目的前端小伙伴来说,组件通信方式可以说是必会的基本功,今天带大家一起盘下vue3中的14种通信方式,希望对大家有所帮助
    2025-01-01
  • vue实现列表无缝滚动效果

    vue实现列表无缝滚动效果

    这篇文章主要为大家详细介绍了vue实现列表无缝滚动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04

最新评论