javascript - 如何在模板标签上有条件渲染 vue.js?

标签 javascript vue.js

我正在通过Vue.js Reference Doc上的引用文档学习vue.js .

然后,我正在跟进示例。但是,conditional部分示例不起作用。

这是我的代码。

<template id="app-3">
<div v-if="ok">
    <h1>Title</h1>
    <p>Paragraph 1</p>
    <p>Paragraph 2</p>
</div>
</template>
<script src="vue.js"></script>
<script>
    var app = new Vue({
        el : '#app-3',
        data : {
            ok : true
        }
    });
</script>

这段代码可以工作。

    <transition id="app-3">
    <template v-if="ok">
        <div>
            <h1>Title</h1>
            <p>Paragraph 1</p>
            <p>Paragraph 2</p>
        </div>
    </template>
</transition>
<script src="vue.js"></script>
<script>
    var app = new Vue({
        el : '#app-3',
        data : {
            ok : true
        }
    });
</script>

我想知道第一个代码为什么不起作用!

最佳答案

@xyiii 指出控制台中显示的错误。

正如您对 @xyiii 答案的评论:

hmm so, Vue.js Doc example is wrong code?

。 他们只是解释您想要根据相同属性切换多个元素的情况。

所以不要这样做:

标题 第 1 段

第 2 段

您可以将它们分组在模板标记中并按如下方式执行:

<template v-if="ok">
<h1>Title</h1>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
</template>

<template> 标签就像一个占位符。它不会被渲染到 DOM 上。

因此,您可能会错误地拥有两个根元素:

<template v-if="ok">
    <div>Root element 1</div>
    <div>Root element 2</div>
</template>

所以为了防止这个 vue 抛出错误。

要知道为什么只有一个根元素 checkout @LinusBorg 的评论 here .

关于javascript - 如何在模板标签上有条件渲染 vue.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50305571/

相关文章:

javascript - 从 JSON 值中删除括号和引号

javascript - 单击react-big-calendar中的事件后显示弹出窗口

javascript - 来自不同项目/域的 webpack 和 vue 异步组件

javascript - 从 VueDraggable 的事件内部调用 vue 方法

vue.js - Vue轮播——设置图标为导航标签

javascript - Jasmine 测试自定义 http 服务

javascript - Mongoose ,从子文档中提取

javascript - 如何在图片内添加 'more info'链接并在图片大小内显示内容

javascript - 如何将参数传递给 VueJS 中的函数

javascript - VueJS : Getting values from multiple checkbox binding in textboxes