Vue的生命周期的详解

Vue的生命周期是每个使用Vue框架的前端人员都需要掌握的知识,以此作为记录。
Vue的生命周期就是vue实例从创建到销毁的全过程,也就是new Vue() 开始就是vue生命周期的开始。Vue 实例有⼀个完整的⽣命周期,也就是从开始创建、初始化数据、编译模版、挂载Dom -> 渲染、更新 -> 渲染、卸载 等⼀系列过程,称这是Vue的⽣命周期。钩子函数是Vue生命周期中每个阶段对外开放让程序员操作Vue的接口。Vue有8个钩子函数。

beforeCreate() {
    console.log('----beforeCreate----')
    console.log(this.msg) //undefined
    console.log(this.$el) //undefined
  },

beforeCreate( 创建前 )

这个时候,在实例被完成创建出来,el和data都没有初始化,不能访问data、method,一般在这个阶段不进行操作。

created( 创建后 )
这个时候,vue实例中的data、method已被初始化,属性也被绑定,但是此时还是虚拟dom,真是dom还没生成,$el 还不可用。这个时候可以调用data和method的数据及方法,created钩子函数是最早可以调用data和method的,故一般在此对数据进行初始化。

 

beforeMount( 挂载前)
此时模板已经编译完成,但还没有被渲染至页面中(即为虚拟dom加载为真实dom),此时el存在则会显示el。在这里可以在渲染前最后一次更改数据的机会,不会触发其他的钩子函数,一般可以在这里做初始数据的获取。
当vue实例中,el为挂载目标,未对el进行定义,则this.el显示undefined,但页面中存在template也能识别挂载目标,因为template可以被看成占位符。如果对其进行定义则显示<div id="app"></div>,故所以,beforeMount读取不了真实的el,在mounted才能读取到真实的el,因为el只有渲染完成后才会存在。这里讲的el是真实的el。在真实的el之前存在前,在beforeMount中的其实是页面中的#app,是挂载的目标。

相关推荐

  1. vue生命周期详解

    2024-04-21 02:28:03       21 阅读
  2. Vue生命周期

    2024-04-21 02:28:03       44 阅读
  3. vue生命周期

    2024-04-21 02:28:03       20 阅读
  4. Vue生命周期

    2024-04-21 02:28:03       15 阅读
  5. Vue生命周期

    2024-04-21 02:28:03       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-21 02:28:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-21 02:28:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-21 02:28:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-21 02:28:03       20 阅读

热门阅读

  1. vue 数据类型转换

    2024-04-21 02:28:03       19 阅读
  2. oracle rman的大小不一定比segment的大小大

    2024-04-21 02:28:03       24 阅读
  3. 力学笃行(五)Qt QWidgets类

    2024-04-21 02:28:03       47 阅读
  4. Vue08天禹老师主讲

    2024-04-21 02:28:03       35 阅读
  5. R:UpSet韦恩图制作

    2024-04-21 02:28:03       31 阅读
  6. Linux命令学习—DNS 服务器

    2024-04-21 02:28:03       19 阅读
  7. Linux下多版本cuda切换

    2024-04-21 02:28:03       21 阅读
  8. React + 项目(从基础到实战) -- 第六期

    2024-04-21 02:28:03       17 阅读
  9. ARM-学习day8

    2024-04-21 02:28:03       13 阅读
  10. Vue3不用任何构建的原始HTML

    2024-04-21 02:28:03       14 阅读
  11. ARM_day8:基于iic总线的通信

    2024-04-21 02:28:03       16 阅读