Vue-注入,虚拟dom,挂载

注入

配置对象中的部分内容会被提取到vue实例中:

  • data
  • methods

该过程称之为注入

注入目的有两个:

  • 完成数据响应式

    vue是怎么知道数据被更改了?

    vue2.0是通过Object.defineProperty方法完成了数据响应式,但是这种方法有缺陷,无法检测到新增属性和删除属性,vue3.0是通过Class Proxy完成的数据响应式,

  • 绑定this

虚拟DOM树

为了提高渲染效率,vue会把模板编译成为虚拟DOM树,然后再生成真实的DOM

在这里插入图片描述

当数据更改时,将重新编译成虚拟DOM树,然后对前后两棵树进行比对,仅将差异部分反映到真实DOM,这样既可最小程度的改动真实DOM,提升页面效率

在这里插入图片描述

因此,对于vue而言,提升效率重点着眼于两个方面:

  • 减少新的虚拟DOM的生成
  • 保证对比之后,只有必要的节点有变化。

vue提供了多种方式生成虚拟DOM树:

  1. 在挂在的元素内部直接书写,此时将使用元素的outerHTML作为模板
  2. template配置中书写
  3. render配置中用函数直接创建虚拟节点树,此时,完全脱离模板,将省略编译步骤

这些步骤从上到下,优先级逐渐提升

注意:虚拟节点树必须是单根的

挂载

将生成的真实DOM树,放置到某个元素位置,称之为挂载

挂载的方式:

  1. 通过el:"css选择器"进行配置
  2. 通过vue实例.$mount("css选择器")进行配置

完整流程

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值