pythonrender函数_Render函数

Render函数

Vue2与Vue1最大的区别就在于Vue2使用了虚拟DOM来更新DOM节点,提升渲染性能。

虚拟DOM

React和Vue2都使用了虚拟DOM技术,虚拟DOM并不是真正意义上的DOM,而是一个轻量级的JavaScript对象,在状态发生变化时,虚拟DOM会进行Different运算,来更新只需要被替换的DOM,而不是全部重绘。

与DOM操作相比,虚拟DOM是基于JavaScript计算的,所以开销会小很多。

在Vue2中,虚拟DOM就是通过一种VNode类表达,每个DOM元素或组件对对应一个VNode对象。

VNodeData节点解析:

children 子节点,数组,也是VNode类型。

text 当前节点的文本,一般文本节点或注释节点会有该属性。

elm 当前虚拟节点对应的真实的DOM节点。

ns 节点的namespace

content 编译作用域

functionalContext 函数化组件的作用域

key 节点的key属性,用于作为节点的标识,有利于patch的优化

componentOptions 创建组件实例时会用到的选项信息。

child 当前节点对应的组件实例。

parent 组件的占位节点。

raw 原始html

isStatic 静态节点的标识

isRootInset 是否作为根节点插入,被包裹的节点,该属性的值为false。

isConment 当前节点是否是注释节点。

isCloned 当前节点是否为克隆节点。

isOnce 当前节点是否有v-once指令。

VNode主要可以分为以下几类:

TextVNode 文本节点。

ElementVNode 普通元素节点。

ComponentVNode 组件节点。

EmptyVNode 没有内容的注释节点。

CloneVNode 克隆节点,可以是以上任意类型的节点,唯一的区别在于isCloned属性为true。

Render函数通过createElement参数来创建虚拟DOM,结构精简。其中,访问slot的用法,使用场景集中在Render函数。

See the Pen Vue-render函数 by whjin (@whjin) on CodePen.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值