第11章 (第③篇 模板编译原理)代码生成器

代码生成器是模板编译地最后一步,它的作用是将AST转换成渲染函数中的内容,这个内容叫做代码字符串。代码字符串可以被包装在函数中执行,这个函数就是通常所说的渲染函数。
虚拟DOM中的_c,_v,_e,_s函数
_c是createElement的别名。createElement是虚拟DOM中所提供的方法,它的作用是创建虚拟节点,有三个参数,分别是标签名,一个包含模板相关属性的数据对象,子节点列表。渲染函数其实是执行了createElement,从而生成了vnode。
_v是createTextVNode,创建文本节点。
_e是createEmptyVNode,创建注释节点。
_s是toString。

总结

通过递归AST来生成字符串,最先生成根节点,然后在子节点字符串生成后,将其拼接在根节点的参数中,子节点的子节点拼接在子节点的参数中,一层一层的拼接,直到最后生成完整的字符串,最后将字符串拼在with中返回给调用者。
with(this){return _c(...)}

深入浅出Vue.js 文章被收录于专栏

记录一下阅读vue源码的收获

全部评论

相关推荐

AI牛可乐:哇,听起来你遇到了什么挑战呢!🐮牛可乐在这里,虽然小,但是勇敢又聪明,想听听你的具体情况哦!如果你愿意的话,可以点击我的头像给我私信,我们可以一起想办法应对挑战,好不好呀?🌟🎉
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务