VNode.elm 属性

来源:2-5 Virtual DOM

aznmoe

2019-09-29

老师,我是在观看 vm._update 方法的时候 回看的这个章节。在 core/vdnom/createPatchFunction 方法中 返回的 patch 方法中 有这么一句

// either not server-rendered, or hydration failed.
// create an empty node and replace it
oldVnode = emptyNodeAt(oldVnode)
// oldVnode 是 vm.$el,也就是 query(vm.$options.el),即一个真实的dom

emptyNodeAt 方法则是 
function emptyNodeAt (elm) {
    return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)
}

即 new Vnode 的时候,传入的 elm 既是 真实的 dom? 也就是每个 VNode 节点 挂载 其自身所映射的 真实dom?

写回答

1回答

ustbhuangyi

2019-09-29

emptyNodeAt 函数中的 elm 是真实的 DOM,new VNode 第一个参数 tag,它是一个字符串。

0
0

Vue.js 源码深入解析 深入理解Vue实现原理

全方位讲解 Vue.js 源码,进阶高级工程师

4990 学习 · 1038 问题

查看课程