v-如果不在模板标签上工作

时间:2017-09-12 16:44:57

标签: vue.js

根据Vue documentation我应该能够将v-if条件添加到<template>标记:

<template v-if="false">
  <div>Invisible text</div>
</template>

但是这不会隐藏元素,但是当它添加到子元素时它确实有效:

<template>
  <div v-if="false">Invisible text</div>
</template>

有什么建议吗?

我将模板包含在另一个.vue文件中:

<template>
  <div id="app">
    <H1 class= "main-title">Title</H1>
    <span class="components">
      <testtemplate></testtemplate>
    </span>
  </div>
</template>

1 个答案:

答案 0 :(得分:6)

single-file componenttemplate标记不会像普通<template>标记一样由Vue呈现。它只是占位符之一,<script><style> vue-loader用于构建组件。 template的根元素是组件中的根。

但是,即使它按照你想要的方式工作,你的第一个和第二个例子也没有区别。如果设置为v-if,则在根目录上使用false将阻止整个组件的模板呈现。