vue生命周期

vue生命周期

如果你的技术栈是vue的话,vue面试时,面试官会问:请说一下vue的生命周期,这时应该怎么回答呢?
vue的创建有一个完整的生命周期,分为四个阶段, 创建(beforeCreated,created),挂载(beforeMounted, mounted),更新(beforUpdate, updated),销毁(beforeDestroy,destroyed)。

首先创建vue实例,

beforeCreated在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
Created完成数据观测,属性与方法的运算,watch、event事件回调的配置,可调用methods中的方法,访问和修改data数据触发响应式渲染dom,可通过computed和watch完成数据计算,但是此时vm.$el 并没有被创建
此时判断是否存在el选项,若不存在则停止编译,直到调用vm.$mount(el)才会继续编译,有则判断是否有模板, 有则将模板转为render函数,通过render函数去渲染创建dom树, 无模板则将$el最外层的html作为模板
beforeMounted在此阶段可获取到vm.el此阶段vm.el(虚拟)虽已完成DOM初始化,但并未挂载在el选项上
mounted此阶段vm.el完成挂载,vm.$el生成的DOM替换了el选项所对应的DOM
beforUpdate数据更新时调用,发生在虚拟 DOM 打补丁之前。这里适合在更新之前访问现有的 DOM,比如手动移除已添加的事件监听器。
updated由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。
beforeDestroy实例被销毁前调用,此时实例属性与方法仍可访问
destroyed完全销毁一个实例。可清理它与其它实例的连接,解绑它的全部指令及事件监听器并不能清除DOM,仅仅销毁实例

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值