vue3的根节点

2022-05-19  本文已影响0人  蓝蓝红同学

在vue2中,规定每个组件只能存在一个根节点,多出的节点会报错

但在vue3中,每个组件可以存在多个根节点,但需要自己显式定义attribute应该分布在哪里

attribute和property

简单来说,attribute是元素标签的属性,property是元素对象的属性

非props的attribute:即父组件定义了自定义函数emit或传递了数据,但子组件没有接收props和使用emit来使用父组件的自定义函数或没有完全接收数据,那么这些传递给子组件的emit和props就会被保存在attribute中

当组件根节点是单个根节点时,attribute会自动添加到根节点上,当存在多个根节点时,可以使用v-bind="$attrs"来指定将attribute添加到某个根节点($attrs 包含所有的 attribute,包括style和class,这使得把它们全部应用到另一个元素上更加容易)

指定根节点传递$attrs
上一篇下一篇

猜你喜欢

热点阅读