vue3报错:The template root requires exactly one element

在 vue2 的模版中要求有且仅有一个根结点,但 vue3 则允许多个根结点,增加模版的灵活性。

vue2,template 中只能有一个根元素

<template>
  <div id="app">
    <h1>{{ count }}</h1>
    <button @click="increase"></button>
    <button @click="decrease"></button>
  </div>
</template>

vue3

<template>
  <h1>{{ count }}</h1>
  <button @click="increase"></button>
  <button @click="decrease"></button>
</template>

但当我们使用 vscode 创建 vue 项目时,可能会出现 Vue Error: The template root requires exactly one element 的报错提示。

报错的原因是,我们使用 vetur 插件,其带有检查语法的功能,因此加载之后会出现报错。

解决方法:

1. 按照 vue2 的格式要求,在多个根结点外部嵌套一个<div>标签。

但导致需要额外添加一个包裹性的元素容纳多个子元素,在某些情况下不是必要的,可能造成一定的干扰。

2. 既然是因为使用 vetur 插件造成的,那么我们关闭该提示也可以解决。(推荐)

最后,记得重启一下 vscode 让操作生效哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值