美文网首页
Vue生命周期函数详解

Vue生命周期函数详解

作者: _小海绵 | 来源:发表于2020-10-13 09:59 被阅读0次

Vue2.x

你不能使用箭头函数来定义一个生命周期方法!!因为this啥也找不到还报错!

beforeCreate

在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前执行,此时组件实例还未创建,通常用于插件开发中执行一些初始化任务

created

组件实例已经创建完成,并配置了数据观测 (data observer),property 和方法的运算,watch/event 事件回调。但是还没有挂载DOM,此阶段可用于异步数据获取。

beforeMount

在挂载开始之前被调用:相关的 render 函数首次被调用。

mounted

组件实例被挂载后完成,DOM已创建,此阶段可用于访问数据和DOM元素,但不会保证所有子组件都一起被挂载。如果您希望整个视图都完成渲染可以在 mounted 内部使用 vm.$nextTick

beforeUpdate

数据更新前调用,可用于获取更新前的状态。可在这里 手动移除已经添加的事件监听器。

updated

此函数执行的时候。DOM已经更新。

updated 不会保证所有的子组件也都一起被重绘。如果你希望等到整个视图都重绘完毕,可以在 updated 里使用 vm.$nextTick

beforeDestroy

实例销毁之前调用。在这一步,实例仍然完全可用,此时可以取消定时器和订阅事件。

除了beforeCreate、created外其他生命周期钩子函数在服务器端渲染期间均不被调用。

官网大图镇楼:


生命周期图示

Vue3

因为钩子函数们依赖内部的全局状态来定位当前的组件实例,所以他们只能在 setup() 期间注册及使用。

import { onMounted, onUpdated, onUnmounted } from 'vue'

const MyComponent = {
  setup() {
    onMounted(() => {
      console.log('mounted!')
    })
    onUpdated(() => {
      console.log('updated!')
    })
    onUnmounted(() => {
      console.log('unmounted!')
    })
  },
}

  • 与2.x的对比(两个被替换了,其余的就是改了个名)
    • beforeCreate、created由setup()代替。
    • mounted -> onMounted
    • beforeUpdate -> onBeforeUpdate
    • updated -> onUpdated
    • beforeDestroy -> onBeforeUnmount
    • destroyed -> onUnmounted
    • errorCaptured -> onErrorCaptured
  • 新增了2个方便调试 debug 的回调钩子(为了不误导请前往官方文档

Vue2.x + Composition API 与 Vue3.x

  • 在 Vue2.x + Composition API的环境下,进行两者钩子函数混用时:Vue2.x 的回调函数会相对先执行(例:mounted 先于 onMounted执行)

  • 在 Vue3.x 环境下,为了兼容 Vue2.x 的语法,全部旧的生命周期函数获得保留(除了 beforeDestroy 和 destroyed),生命周期混合使用时:Vue3.x 的生命周期相对优先于 Vue2.x 的执行(例:onMounted 先于 mounted 执行)。

当生命周期混用时,主版本的钩子函数就会相对优先执行。为了产生不必要的麻烦就不要混用啦。

相关文章

  • Vue生命周期

    Vue生命周期详解 一、Vue生命周期 与 作用 (生命周期钩子就是生命周期函数) (1)Vue生命周期:每个Vu...

  • Vue学习笔记(12)-生命周期函数

    生命周期函数 生命周期函数代表的是Vue实例,或者是Vue组件,在网页中各个生命阶段所执行的函数。生命周期函数可以...

  • 😄--前端面试整理--VueJs

    1、Vue的指令都有哪些? 2、Vue的生命周期函数 3、除了生命周期函数还有哪些钩子函数 4、Vue组件是怎么进...

  • vue生命周期

    vue生命周期详: vue生命周期详解图: vue生命周期详解代码展示:

  • vue生命周期

    学习vue的生命周期 什么是生命周期函数? vue的生命周期函数(又称为钩子函数)是一个vue实例从开始创建,到初...

  • Vue生命周期函数调用的时间

    vue的生命周期函数有11个,常用的8个生命周期函数必须要掌握

  • vue基础知识精讲

    一、Vue实例生命周期函数 生命周期函数是vue实例在某一个时间点会自动执行的函数。 测试一下: 二、Vue的模板...

  • 了解vue.js的生命周期函数

    了解vue的生命周期函数和运行中事件,有助于我们更好地使用vue 具体代码文件 四个生命周期函数 beforeCr...

  • Vue 生命周期

    生命周期函数 生命周期函数就是 Vue 实例在某一个时间点会自动执行的函数 简单来说就是,钩子(生命周期函数)就好...

  • Vue生命周期函数详解

    Vue2.x 你不能使用箭头函数来定义一个生命周期方法!!因为this啥也找不到还报错! beforeCreate...

网友评论

      本文标题:Vue生命周期函数详解

      本文链接:https://www.haomeiwen.com/subject/fhampktx.html