Vue2项目运行在浏览器时的渲染顺序详细介绍

浏览器渲染顺序:

1. 解析 HTML,构建 DOM 树;
2. 解析 CSS,构建 CSSOM 树;
3. 将 DOM 树和 CSSOM 树结合,生成渲染树;
4. 根据渲染树进行布局,计算每个元素的大小和位置;
5. 将渲染树绘制到屏幕上。

Vue 组件生命周期:

1. beforeCreate:组件实例初始化之后,数据观测和事件配置之前被调用。
2. created:组件实例创建完成后被调用。此时已经完成了数据观测和事件配置等,但还没有开始 DOM 编译和挂载。
3. beforeMount:组件挂载之前被调用,此时组件的模板已经编译完成,但尚未挂载到页面上。
4. mounted:组件挂载完成后被调用,此时组件已经完全被渲染到页面中。
5. beforeUpdate:组件更新之前被调用,但此时DOM并未被重新渲染。
6. updated:组件更新完成后被调用,此时DOM已经被重新渲染。
7. activated:被 keep-alive 缓存的组件激活时调用。
8. deactivated:被 keep-alive 缓存的组件停用时调用。
9. beforeDestroy:组件销毁之前被调用,此时组件仍然可用。
10. destroyed:组件销毁后被调用,调用后组件已经不能被使用。

Vue2项目运行在浏览器时,渲染顺序如下:

  1. 初始化阶段

    • Vue实例被创建,响应式数据和计算属性被初始化。
    • 如果定义了beforeCreate钩子函数,它将在此阶段被调用。
  2. 编译模板

    • Vue会编译模板,将模板解析成虚拟DOM(Virtual DOM)。
    • 解析过程中,会识别模板中的指令、事件绑定、插值等。
  3. 创建实例阶段

    • Vue实例的生命周期进入created阶段,此时实例已经创建,数据已经初始化,但尚未挂载到DOM上。
  4. 模板渲染

    • Vue会将虚拟DOM渲染成真实的DOM。
    • 此时,如果定义了beforeMount钩子函数,它将在此阶段被调用。
  5. 挂载阶段

    • Vue实例的生命周期进入mounted阶段,此时虚拟DOM已经渲染成真实DOM并挂载到页面上。
    • 在这个阶段,你可以操作DOM,访问组件的DOM元素。
  6. 更新阶段

    • 当响应式数据发生变化时,Vue会触发更新过程,这会导致重新渲染组件。
    • 在更新过程中,Vue会先进行虚拟DOM的比对(Diff算法),找出需要更新的部分,然后再更新真实DOM。
    • 如果定义了beforeUpdate钩子函数,它将在此阶段被调用。
  7. 重新渲染

    • 更新后,Vue会将新的虚拟DOM渲染成新的真实DOM,替换旧的DOM。
    • 此时,如果存在被替换的子组件,子组件会经历更新流程。
  8. 更新完成阶段

    • 更新完成后,Vue实例的生命周期进入updated阶段。
    • 在这个阶段,你可以执行一些与更新后的DOM交互的操作。
  9. 销毁阶段

    • 当Vue实例被销毁(调用$destroy方法),实例的生命周期进入beforeDestroydestroyed阶段。
    • beforeDestroy阶段,你可以执行一些清理工作,解绑事件等操作。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值