为什么 vm._c 和 vm.$createElement 需要不同的normalize
来源:2-8 update

慕工程2451917
2020-11-05
特别是普通的normalize , 为啥需要递归处理,children。
我用了 vue-template-complier 编译出来的 _c感觉和用自己 render方法中的createElement 差不多啊。
写回答
1回答
-
首先 vm._c 是模板编译后执行渲染函数的时候会调用的,而 vm.$createElement 是用户手写渲染函数的时候调用的。
因为后者是手写的,所以情况就很复杂,需要 normalize,可以重点看这个注释:
注释就说明了需要 normalize 的原因。012020-11-05
相似问题