vm.$options.render = createEmptyVNode有啥意义了?
来源:2-3 Vue 实例挂载的实现

qq_飞越疯人院_1
2019-04-23
runtime-only版本的lifecycle.js
if (!vm.$options.render) {
vm.$options.render = createEmptyVNode
// 为什么要有这一句创建一个空的vnode节点赋值给render属性了,整个js文件都没使用到vm.$options.render了?
...
}
写回答
1回答
-
正常情况下,运行到这里 vm.$options.render 函数都不为空,你可以手写 render 函数,或者是写 .vue 文件 template 的形式,都会转换成 render 函数。所以如果这里 vm.$options.render 为空,那么就是没有 render 函数,所以 Vue 这里给你指向一个创建空的 Vnode 的方法,确保后续运行不报错,但同时在开发者环境下给你报警告:
012019-04-27
相似问题