背景上一篇我们保证了代码没有报错,参数传入成功,但是没有实现任何逻辑。本章我们主要的工作是完成对dom的解析。在vue中,dom的高效更新和渲染是通过构建一个虚拟的dom结构来实现的。模仿这个思路,我们构建了一个超级简单的虚拟dom结构,目的是让大家看得懂。目的,本次搭建的dom结构,不考虑性能,不考虑设计,以实现功能为目的。domParser(dom解析)的基本思想:从参数el指定的节点开始,遍历解析节点,递归解析子节点,完成所有节点的解析(function(global,factory){global.Vue=factory})(this,function(options){//1.解析dom结构domParser();functiondomParser(){letel=options.el;//配置的el以'#'开头if(el.startsWith("#")){el=el.substr(1);}letapp=document.getElementById(el);letvirtualDom=document.createDocumentFragment();for(leti=0;i
是元素类type,hello是文本类型,ELEMENT_NODE的值为1,TEXT_NODE的值为3。在编译时,这两种类型的解析方式不同。TEXT只需要解析文本,ELEMENT类型需要解析属性。函数编译(节点){让元素=node.cloneNode(假);for(leti=0;i