Vue的生命周期

vue对象核心的四个阶段八个钩子函数:

1)、数据挂载 阶段 :把传入的data属性的内容,赋给vue对象。即:把形参中data的属性赋给vue对象。

​ 前后分别的钩子函数是:beforeCreate、created

2)、模板渲染阶段:把vue对象中data渲染到dom对象上。

​ 前后分别的钩子函数是:beforeMount、mounted

3)、组件更新阶段:当数据发生变化时,会触发组件的更新。

​ 前后分别的钩子函数是:beforeUpdate、updated

4)、组件销毁阶段:

​ 前后分别的钩子函数是:beforeDestroy、destroyed
beforeCreate函数:

在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。

即此时vue(组件)对象被创建了,但是vue对象的属性还没有绑定,如data属性,computed属性还没有绑定,即没有值。

此时还没有数据和真实DOM。

即:属性还没有赋值,也没有动态创建template属性对应的HTML元素;
Created函数-

vue对象的属性有值了,但是DOM还没有生成,$el属性还不存在。

此时有数据了,但是还没有真实的DOM

​ 即:data,computed都执行了。属性已经赋值,但没有动态创建template属性对应的HTML元素,所以,此时如果更改数据不会触发updated函数

​ 如果:数据的初始值就来自于后端,可以发送ajax,或者fetch请求获取数据,但是,此时不会触发updated函数;

beforeMount函数:

模板编译(template)、数据挂载(把数据显示在模板里)之前执行的钩子函数

此时 this.$el有值,但是数据还没有挂载到页面上。即此时页面中的{{}}里的变量还没有被数据替换

模板编译:用vue对象的数据(属性)替换模板中的内容

Mounted函数:

模板编译完成,数据挂载完毕

即:此时已经把数据挂载到了页面上,所以,页面上能够看到正确的数据了。

一般来说,我们在此处发送异步请求(ajax,fetch,axios等),获取服务器上的数据,显示在DOM里。

beforeUpdate函数:

组件更新之前执行的函数,只有数据更新后,才能调用(触发)beforeUpdate,注意:此数据一定是在模板上出现的数据,否则,不会,也没有必要触发组件更新(因为数据不出现在模板里,就没有必要再次渲染)

数据更新了,但是,vue(组件)对象对应的dom中的内部(innerHTML)没有变,所以叫作组件更新前;
updated函数

组件更新之后执行的函数

vue(组件)对象对应的dom中的内部(innerHTML)改变了,所以,叫作组件更新之后;

beforeDestroy:vue(组件)对象销毁之前;

destroyed:vue组件销毁后;

补充:

activated函数:keep-alive组件激活时调用;

deactivated函数:keep-alive组件停用时调用;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值