vue2为什么只能有一个根节点

因为vdom是一个单根树形结构描述当前视图结构,patch方法在遍历的时候从根节点开始遍历,它要求只有一个根节点。组件也是会转换成vdom,所以也必须满足单根节点要求

vue3为什么可以多根节点

因为vue3引入了fragment概念,这是一个抽象的节点,如果发现组件是多根的会自动创建一个fragment节点,把多根节点视为自己的children。在patch时,如果发现这是一个fragment节点,则直接遍历children创建或更新

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐