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

 更新时间:2022年04月26日 11:54:40   作者:伊丶二  
这篇文章主要介绍了vue中关于template报错等问题的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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>
    )
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论