Vue模版语法之条件渲染

1. v-show

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>一个简单的按钮是否可以点击案例</title>
    <script type="text/javascript" src="./vue.global.js"></script>
</head>
<body>
    <div id="root">
        <!--使用v-show进行显示隐藏控件,true-->
        <div v-show="isTrue">显示标签</div>
        <!--使用v-show进行显示隐藏控件,''-->
        <div v-show="isNull">标签被隐藏</div>
        <!--使用v-show进行显示隐藏控件,false-->
        <div v-show="isFalse">标签被隐藏</div>
    </div>
</body>
</html>
<script type="text/javascript">
    const { createApp } = Vue
    createApp({
        data() {
            return {
                isTrue:true,
                isNull:'',
                isFalse:false,
            }
        },
    }).mount('#root')
</script>

2. v-if

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>一个简单的按钮是否可以点击案例</title>
    <script type="text/javascript" src="./vue.global.js"></script>
</head>
<body>
    <div id="root">
        <!--使用v-show进行显示隐藏控件,true-->
        <div v-if="isIf">隐藏标签</div>
        <div v-else-if="isElseIf">显示标签</div>
        <div v-else="isElse">隐藏标签</div>
    </div>
</body>
</html>
<script type="text/javascript">
    const { createApp } = Vue
    createApp({
        data() {
            return {
                isIf:'',
                isElseIf:true,
                isElse:false,
            }
        },
    }).mount('#root')
</script>


3.注意点

1.当 v-if 和 v-for 同时存在于一个元素上的时候,v-if 会首先被执行。

2.v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要频繁切换,则使用 v-show 较好;如果在运行时绑定条件很少改变,则 v-if 会更合适。

3.因为 v-if 是一个指令,我们可以在一个 元素上使用 v-if

4.一个 v-else 元素必须跟在一个 v-if 或者 v-else-if 元素后面,否则它将不会被识别。

5.v-show 不支持在 元素上使用,也不能和 v-else 搭配使用。

相关推荐
IT_陈寒几秒前
React状态管理终极对决:Redux vs Context API谁更胜一筹?
前端·人工智能·后端
lemon_yyds39 分钟前
《vue 2 升级vue3 父组件 子组件 传值: value 和 v-model
vue.js
Kagol1 小时前
TinyVue 支持 Skills 啦!现在你可以让 AI 使用 TinyVue 组件搭建项目
前端·agent·ai编程
柳杉1 小时前
从零打造 AI 全球趋势监测大屏
前端·javascript·aigc
simple_lau1 小时前
Cursor配置MasterGo MCP:一键读取设计稿生成高还原度前端代码
前端·javascript·vue.js
睡不着先生1 小时前
如何设计一个真正可扩展的表单生成器?
前端·javascript·vue.js
天蓝色的鱼鱼1 小时前
模块化与组件化:90%的前端开发者都没搞懂的本质区别
前端·架构·代码规范
明君879971 小时前
Flutter 如何给图片添加多行文字水印
前端·flutter
进击的尘埃1 小时前
AI 代码审查工具链搭建:用 AST 解析 + LLM 实现自动化 Code Review 的前端工程方案
javascript
juejin_cn1 小时前
[转][译] 从零开始构建 OpenClaw — 第五部分(对话压缩)
javascript