VNode
vnode可以理解为节点描述对象,描述了应该怎样去创建真实的DOM节点
作用
Vue2对状态侦测策略采用了中等粒度。当状态发生变化时,只通知到组件级别,然后组件内使用虚拟DOM来渲染视图。
对vnode进行缓存,并将上一次缓存的vnode和当前新创建的vnode进行对比,只更新发生变化的节点。
类型
注释节点
- text
- isComment
1 | { |
1 | /** |
文本节点
- text
1 | { |
1 | /** |
克隆节点
作用
优化静态节点和插槽节点
区别
克隆节点和被克隆节点之间的唯一区别是isCloned属性,克隆节点为true
1 | /** |
元素节点
- tag:节点的名称(p、ul、li、div)
- data:节点上的数据(style、class)
- children:子节点列表
- context:当前节点的Vue实例
1 | { |
组件节点
- componentOptions:选项参数(propsData、tag、children)
- componentInstance:组件的实例
1 | { |
函数式组件
- functionalContext
- functionalOptions