vue2为什么只能有一个根节点,而vue3可以是多根节点

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

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

vue3为什么可以多根节点

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


版权声明:本文为weixin_42178670原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。