Vue条件判断指令:v-if、v-else、v-else-if、v-show 指令

news/2024/10/18 12:19:20/

在程序设计中,条件判断是必不可少的技术。在视图中,经常需要通过条件判断来控制 DOM 的显示状态。Vue.js 提供了相应的指令用于实现条件判断,包括:v-if、v-else、v-else-if、v-show 指令。

1、v-if 指令

v-if 指令可以根据表达式的值来判断是否输出 DOM 元素及其包含的子元素。如果表达式的值为 true,就输出 DOM 元素及其包含的子元素;否则,就将 DOM 元素及其包含的子元素移除。

【实例】使用 v-if 指令,判断是否显示 DOM 元素。

<body><div id="app"><h3>{{title}}</h3><p>Tom 的年龄是{{age}}</p><p v-if="age < 18">Tom 未成年</p><template v-if="show"><p>博客信息:{{blogName}}</p><p>博客地址:{{blogUrl}}</p></template></div>
</body><!-- 引入 Vue 框架 -->
<script src="../js/vue.global.js"></script><script type="text/javascript">// 使用 Vue.createApp 函数创建一个应用程序实例const vueApp = Vue.createApp({//数据data() {return {title: "使用 v-if 指令",age: 16,show: true,blogName: "您好,欢迎访问 pan_junbiao的博客",blogUrl: "https://blog.csdn.net/pan_junbiao"}}//使用 mount() 方法,装载应用程序实例的根组件}).mount('#app'); 
</script>

执行结果:

2、v-else 和 v-else-if 指令

v-else 指令的作用相当于 JavaScript 中的 else 语句部分的作用。可以将 v-else 指令配合 v-if 指令一起使用。

v-else-if 指令的作用相当于 JavaScript 中的 else if 语句部分的作用。应用该指令可以进行更多的条件判断,不同的条件对应不同的输出结果。

【实例】使用 v-if、v-else、v-else-if 指令,判断当前月份属于哪个季节。

<body><div id="app"><h3>{{title}}</h3><p>当前月份是 {{month}} 月</p><div v-if="month >= 1 && month <= 3">当前月份属于:春季</div><div v-else-if="month >= 4 && month <= 6">当前月份属于:夏季</div><div v-else-if="month >= 7 && month <= 9">当前月份属于:秋季</div><div v-else>当前月份属于:冬季</div></div>
</body><!-- 引入 Vue 框架 -->
<script src="../js/vue.global.js"></script><script type="text/javascript">// 使用 Vue.createApp 函数创建一个应用程序实例const vueApp = Vue.createApp({//数据data() {return {title: "使用 v-if、v-else、v-else-if 指令",month: new Date().getMonth() + 1}}//使用 mount() 方法,装载应用程序实例的根组件}).mount('#app'); 
</script>

执行结果:

3、v-show 指令

v-show 指令是根据表达式的值来判断是显示还是隐藏 DOM 元素。当表达式的值为 true 时,元素将被显示;当表达式的值为 false 时,元素将被隐藏,此时为元素添加了一个内联样式:style="display: none"。与 v-if 指令不同,对于使用 v-if 指令的元素,无论表达式的值为 true 还是 false,该元素始终会被渲染并保留在 DOM 中。绑定值的改变只是简单地切换元素的 CSS 属性 display。

注意:

v-show 指令不支持<template>元素,也不支持 v-else 指令。

【实例】使用 v-show 指令,切换内容的显示和隐藏。

<body><div id="app"><input type="button" :value="bText" v-on:click="toggle" /><div v-show="isShow"><p>博客信息:{{blogName}}</p><p>博客地址:{{blogUrl}}</p></div></div>
</body><!-- 引入 Vue 框架 -->
<script src="../js/vue.global.js"></script><script type="text/javascript">// 使用 Vue.createApp 函数创建一个应用程序实例const vueApp = Vue.createApp({//数据data() {return {isShow: true,bText: "隐藏内容",blogName: "您好,欢迎访问 pan_junbiao的博客",blogUrl: "https://blog.csdn.net/pan_junbiao"}},//方法methods : {toggle : function(){//切换按钮文字this.bText == '隐藏内容' ? this.bText = '显示内容' : this.bText = '隐藏内容';this.isShow = !this.isShow;//修改属性值}}//使用 mount() 方法,装载应用程序实例的根组件}).mount('#app'); 
</script>

执行结果:


http://www.ppmy.cn/news/1512360.html

相关文章

全面讲解Vue中的toRaw函数

在Vue.js框架中&#xff0c;特别是在Vue 3中&#xff0c;响应式系统是核心功能之一。它允许开发者创建数据对象&#xff0c;这些对象能够自动响应数据的变化并更新DOM。然而&#xff0c;在某些情况下&#xff0c;我们可能需要将响应式对象转换为普通对象&#xff0c;以避免触发…

90.SAP ABAP - 声明变量 - 笔记

目录 声明方式1&#xff1a; 参照数据类型 全局类型&#xff0c;SE11-data element, structure, table type 标准类型,C,N,D,T,F,I,P,STRING 本地类型&#xff0c;程序里面的TYPES 声明方式2&#xff1a; 参照数据对象 赋值的3种方法 声明方式1&#xff1a; 参照数据类型 …

详解栈和队列

目录&#xff1a; 1.栈 2.队列 一、 栈&#xff08;Stack&#xff09; 1.1 概念&#xff1a; 栈是一种特殊的线性表&#xff0c;只允许在固定的一端进行插入和删除元素的操作。进行插入元素的一端叫做栈顶&#xff0c;另一端叫做栈底。从数据结构的角度出发&#xff0c;栈中…

ArcGIS Pro SDK (十二)布局 6 地图框和环绕要素

ArcGIS Pro SDK (十二)布局 6 地图框和环绕要素 文章目录 ArcGIS Pro SDK (十二)布局 6 地图框和环绕要素1 创建地图框并设置照相机2 创建图例3 从样式项创建比例尺4 从样式项创建指北针5 创建表格框6 创建地图框7 创建图例 28 从样式项创建指北针9 创建表格框10 创建比例尺…

SQL - 汇总与分组

聚合函数 MySQL自带一堆内置函数&#xff0c;其中一些叫聚合函数&#xff0c;用它们汇总数据&#xff0c;因为它们取某一列的值并聚合它们&#xff0c;导出一个单一值。并且聚合函数只会运行非空值&#xff0c;如果列中有的值是null&#xff0c;它不会被算在内。 max(), min(),…

分析 Runtime.getRuntime() 执行阻塞原因

1、起因 线上系统通过 git 命令执行的方式获取远程仓库分支&#xff0c;一直运行正常的接口&#xff0c;突然出现超时&#xff0c;接口无法响应&#xff0c;分析验证发现只有个别仓库获取分支会出现这种情况&#xff0c;其他都还是可以正常获取到分支结果信息。 2、分析异常原…

智云-一个抓取web流量的轻量级蜜罐docker一键启动

智云-一个抓取web流量的轻量级蜜罐docker安装教程 github地址 https://github.com/xiaoxiaoranxxx/POT-ZHIYUN docker快速启动(v1.4) git clone https://github.com/xiaoxiaoranxxx/POT-ZHIYUN.git cd POT-ZHIYUN docker-compose up -d默认映射到80和8080端口 mysql不对外开放…

HiveSQL实战——大数据开发面试高频SQL题

查询每个区域的男女用户数 0 问题描述 每个区域内男生、女生分别有多少个 1 数据准备 use wxthive; create table t1_stu_table (id int,name string,class string,sex string ); insert overwrite table t1_stu_table values(4,张文华,二区,男),(3,李思雨,一区,女),(1…