vue为什么要求组件模板只能有一个根元素?

我们在使用单文件组件时,一般这样写:

<template>
<div class='component'></div>
</template>

为什么template下必须有一个根元素?

首先看一看template这个标签,这个标签是html5的新标签,有三个特性:

  • 隐藏性:不会显示在页面中
  • 任意性:可以写在页面的任意地方
  • 无效性: 没有一个根元素包裹,任何HTML内容都是无效的

每一个.Vue的单文件组件本质就是一个vue实例,既然是一个vue实例,它就要有一个入口,如果有多个div,就不无法指定这个vue实例的根入口。

就像一个HTML文档只能有一个根元素一样,多个根元素必将导致无法构成一颗树,所以解释了 <template></template>只有一个<div>根元素。

Logo

前往低代码交流专区

更多推荐