vue生命周期每个阶段可以做什么

解析vue生命周期每个阶段都做什么

一、生命周期有哪些

在 vue 的创建、使用、销毁过程中,会有许多事件,这些事件就被统称为生命周期函数,也叫作生命周期钩子,有beforeCreate( 创建前 )、created ( 创建后 )、beforeMount(挂载前)、mounted(挂载后)、beforeUpdate(更新前)、updated(更新后)、beforeDestroy(销毁前)、destroyed(销毁后)这些生命周期函数。
vue

二、分类型解析

  • DOM构建/渲染前:beforeCreate、created、beforeMount、mounted
  • DOM渲染后:beforeUpdate、updated
  • 离开页面:beforeDestroy、destroyed
1、DOM构建/渲染前

beforeCreate:当执行 beforeCreate 生命周期函数时,vue 实例还没有被完全创建出来,此时 data,methods 等内部没有初始化,无法获取响应数据

created:执行这个函数的时候,vue 实例已经初始化了,可以在这里调用数据,不过还没渲染到页面上。 在当前函数中我们可以访问到 data 中的属性,此时,会将 data 中的属性和 methods 的方法添加到 vue 的实例身上,同时会将 data 中所有的属性添加一个 getter/setter 方法。这里可以进行前后端上数据交互(ajax请求的时候) 需要在当前生命周期中使用。有 this props,不能访问 dom(还没有渲染完毕)。常用于自动 ajax 请求、事件监听、定时器开启等

beforeMount:这时,vue 已经将模板字符串编译成内存虚拟DOM,模板已经编译完成,已经完成渲染树,还没有渲染到页面上。可以获取初始数据,实现函数自执行

mounted:创建阶段完成,页面渲染完毕,进入运行阶段。此时我们可以通过$ refs 来访问到真实的DOM 结构,即可以访问 dom 节点。ref 类似与 id 一样 值必须是唯一的,访问的时候我们可以使用this.$refs.属性,可以进行用户交互操作方法。

2、DOM渲染后阶段

当数据发生变化,比如触发了点击事件改动数据

beforeUpdate:内存中的数据已经改变,页面上的还没更新

updated:页面上数据和内存中的一致

3、离开阶段

离开页面销毁、解绑事件,例如:定时器等

beforeDestroy:出发这个函数时,还没开始销毁,此时刚刚脱离运行阶段。data,methods,指令之类的都在正常运行。用于移除 dom 事件监听、定时器等

destroyed:组件销毁完毕,data,methods,指令之类的不可用。

  • 7
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值