当前位置:主页 > 网页前端 > vue >

vue中关于template报错等问题的解决

时间:2022-07-19 10:16:23 | 栏目:vue | 点击:

template报错

写这个纯粹是为了纪念有多蠢

template:`
<div class='app'>
    <button ref = 'btn'>我是按钮1</button>
    <subCom ref = 'subc'></subCom>
</div>
    `,

关于template里面写的HTML,经历了报错,控制台反映字符串不齐,语法错误等一系列问题后,查遍了各种博客,在查看别的框架的源码后,才发现语法没有问题,js导入没有问题,有问题的是

template里面,用的是``

就是数字1旁边的`,不是单引号!!!

就这个我尝试查询了一个多小时的bug。。。

vue报错问题

The template root requires exactly one element

这段话的意思是:根模板必须有一个准确的元素。

在vue组件中会使用template标签,在template中,还需要一个标签元素将其他标签元素包裹起来,因为template标签是不会被DOM解析,生成DOM元素的时候会被隐藏,而组件又必须只能有一个根节点。

//helloWorld.vue
//正确写法
<template>
    <div>
        <h1>我是h1</h1>
        <h1>我是h1</h1>
        <h1>我是helloWorld</h1>
    </div>
</template>
//错误写法,会报错。
<template>
    <h1>我是h1</h1>
    <h1>我是h1</h1>
    <h1>我是helloWorld</h1>
</template>

这种最外层标签元素只能有一个的方式跟React中的组件用法一致。

React中render函数return组件的时候,最外层也必须只能有一个标签元素,将其他标签严肃包裹起来,否则会报错。

//helloWorld.jsx
render(){
    return(
        <div>
            <h1>我是h1</h1>
            <h1>我是h1</h1>
            <h1>我是helloWorld</h1>
          </div>
    )
}

您可能感兴趣的文章:

相关文章