template报错
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>
)
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持易知道(ezd.cc)。