组件模板应该只包含一个根元素

时间:2017-04-23 13:26:27

标签: javascript vue.js vuejs2

  

组件模板应该只包含一个根元素。如果你是   在多个元素上使用v-if,使用v-else-if来链接它们。

错误编译失败1次  ./src/App.vue中的错误

(发出的值而不是Error的实例)   编译模板时出错:

 <div id="app" class="container">
     <div class="page-header">
        <h1>Vue.js 2 & Firebase Sample Application</h1>
     </div>
  </div class="panel panel-default">
     <div class="panel-heading">
         <h3>Book Lists</h3>
     </div>
     <div clas ="panel-body">
        <table class="table table-striped">
          <thead>
            <tr>
              <th>
                Title
              </th>
              <th>
                Author
              </th>
            </tr>
          </thead>
          <tbody>

          </tbody>
        </table>
     </div>
  </div>

这是我的导出默认

export default {
  name: 'app',
  firebase: {
    books: booksRef
  },
  components: {
    Hello
  }
}

我应该修复哪个部分来删除错误?

2 个答案:

答案 0 :(得分:5)

  

组件模板应包含完全一个根元素。

<template>
    <root-element-1></root-element-1>
    <root-element-2></root-element-2>
</template>

这将是修复

<template>
    <div>
        <root-element-1></root-element-1>
        <root-element-2></root-element-2>
    </div>
</template>

在你的情况下

</div class="panel panel-default">

需要

<div class="panel panel-default">
  

官方文件

在官方文档中,关于Conditional Rendering, 有点&#34;多个&#34;使用v-ifv-else组合时可以使用root元素。

<template v-if="true">
    <label>Username</label>
    <input placeholder="Enter your username" key="username-input">
</template>
<template v-else>
    <label>Email</label>
    <input placeholder="Enter your email address" key="email-input">
</template>

答案 1 :(得分:3)

这是固定代码:

Proxies #125: 179.185.66.146:3128
Proxies #126: 180.183.148.131:8081
Proxies #127: 180.183.179.178:8080
Proxies #128: 180.183.180.60:8080
Proxies #129: 180.234.206.77:8080
Proxies #130: 180.246.101.143:8080
Proxies #131: 180.250.252.3:8080
Proxies #132: 180.252.64.215:80
Proxies #133: 180.253.96.85:8080