当前位置:首页 > 开发教程 > js/jQuery教程 >

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

时间:2022-04-26 13:31 来源:未知 作者:无恙 收藏

这篇文章主要介绍了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>
 )
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持源码搜藏网。


js/jQuery教程阅读排行

最新文章