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

news2024/11/22 18:52:56

在程序设计中,条件判断是必不可少的技术。在视图中,经常需要通过条件判断来控制 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.coloradmin.cn/o/2059384.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

fastadmin 控制器的权限管理

1、fastadmin 权限管理&#xff0c;需要用到的属性和方法是这几个&#xff1a; /*** 无需登录的方法,同时也就不需要鉴权了* var array*/ protected $noNeedLogin [];/*** 无需鉴权的方法,但需要登录* var array*/ protected $noNeedRight []; /*** 是否开启数据限制* 支持a…

双通道SP3232芯片实现由TTL电平转RS232电平

首先&#xff0c;单片机的串口必须经过电平转换才可以和标准RS-232通信&#xff0c;这个转换芯片5V的一般是MAX232或SP232&#xff0c;3.3V的一般是MAX3232或SP3232。 严格说&#xff0c;SP有3232和SP232两种&#xff0c;前者宽电&#xff0c;后者只支持5V。 SP3232是一款RS-…

适合金融行业的企业级跨网文件交换系统

在金融领域&#xff0c;文件交换平台的作用不可小觑&#xff0c;它关乎数据的保密性、稳定性&#xff0c;并且必须遵守严格的合规标准。那么&#xff0c;一个适合金融业跨网文件交换的系统应该具备哪些特质&#xff0c;又是如何满足这些需求的呢&#xff1f;镭速跨网文件交换系…

计算商品总价

价格等于单价乘于数量 如果商品数量大于100&#xff0c;会享受10%的折扣&#xff1b;50-100之间会享受5%的折扣&#xff1b;小于50没有折扣 def getAmount(num,price):amountnum*priceif num>100:amountamount*0.9elif num>50:amountamount*0.95else:amountamountreturn …

应用界面设计(原生,自定义控件,设计与交互-小白必看)

目录 一图概览 界面实现方式 XML布局方式 JAVA或Kotlin代码布局 Android定制控件 Android原生核心控件 为什么不用原生&#xff1f; 定制控件三大方法 定制控件流程 触摸事件&#xff08;input事件处理&#xff09;流程 分发 (dispatchTouchEvent) 拦截 (onInterce…

【信创】Linux系统上ext4、XFS等文件系统的特点和适用场景 _ 统信 _ 麒麟 _ 方德

原文链接&#xff1a;【信创】Linux系统上ext4、XFS等文件系统的特点和适用场景 | 统信 | 麒麟 | 方德 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于Linux系统上常见文件系统——如ext4、XFS等——的特点和适用场景的文章。选择合适的文件系统对于优化存储性能…

sh脚本之外JS也可以编写脚本

比方说APP每次打包后命名无规则 打得多了还杂乱 可以使用node脚本 批量删除 重命名 例如使用以下 Node.js 脚本来删除当前目录下的所有文件&#xff0c;并保留最近修改的一个文件名为lock.apk const fs require(fs); const path require(path);// 获取当前目录 const curre…

ZYNQ 7020 学习记录-1点灯

系列文章目录 1.点灯 文章目录 系列文章目录前言一、ZYNQ是什么&#xff1f;二、FPGA开发流程1.流程图2.工程管理3.需求分析4.系统框图5.编写RTL代码6.Modelsim 手动仿真7.Vivado工程 总结 前言 由于研究生课题组所研制的设备HIGH-POWER SHM SYSTEM是基于ZYNQ的&#xff0c;以…

【css】伪元素实现图片个悬停文字聚焦效果

实现重点&#xff1a; 文字覆盖在图片上&#xff1a; 通过使用 position: absolute 将 .box 文字盒子定位在图片上方。父容器 .img-wrap 使用了 position: relative 确保子元素的绝对定位在父容器的边界内生效。 创建悬停效果&#xff1a; 通过使用 &::before 和 &::…

滑块缺口研究实例(C#颜色滑块缺口计算)

缺口图图 测试网站 111https://www.591mf.top/duibi/hk.html using System; using System.Drawing;public class ColorGapCounter {public static int CountGaps(Color startColor, Color endColor, int threshold){int gaps 0;int startR startColor.R;int startG startC…

STM32按键控制小灯—HAL库

原理讲解&#xff1a; 以上是按键的原理图&#xff1a;&#xff08;忽略GPIO口&#xff0c;因为可以自行设置&#xff09; 需要注意的点有两个&#xff1a; ①100nF的电容&#xff1a;有效缓冲抖动的电平信号&#xff0c;有按键消抖的作用 什么是按键抖动呢&#xff1f;&am…

2024年蓝牙耳机哪个牌子最值得买?最建议入手的四个品牌型号推荐

随着科学技术的不断发展&#xff0c;蓝牙耳机已经逐渐成为市场上的智能配件选择&#xff0c;其市场份额也在不断增长。但是&#xff0c;在众多品牌中&#xff0c;很多的蓝牙耳机会出现音质不佳、连接不稳定的问题&#xff0c;甚至可能对消费者的听力造成潜在风险。那么&#xf…

openai api key automatically rotating when deployed

题意&#xff1a;部署时自动轮换 OpenAI API 密钥 问题背景&#xff1a; Im building a web page using openai gpt API in reactjs. I saved my API key on .env file then gitignored it. And I deployed my code with gh-pages, but openai detects it and rotate the key …

一文详解:线索分配的3种策略

针对企业经常投放的平台和渠道(如抖音、快手、公众号、官网等),纷享销客搭建了多平台接口与CRM互通&#xff0c;多渠道的线索可实时同步到CRM系统中。经过前面的线索分层处理&#xff0c;线索再根据不同线索池分配规则或者自定义分配规则设计&#xff0c;将线索下发给相关方处理…

银行总分支文件分发系统:在安全与效率之间找到平衡

银行的组织结构通常根据其规模、业务范围和地域分布而有所不同&#xff0c;但一般会包括以下几个层级&#xff1a;总行-区域总部或分行-分行-支行-业务中心或服务中心-国际分支机构-附属机构或子公司。 在日常中&#xff0c;存在总分支文件分发的业务场景&#xff0c;文件类型通…

盘点8大跨境电商平台发展前景及选品分析(Shopee、eBay篇)

跨境电商行业在全球范围内持续发展&#xff0c;各大平台各有特色&#xff0c;针对不同的市场和消费者群体提供多元化的服务。以下是亚马逊、Shopee、TikTok、TEMU、速卖通、eBay、Lazada、SHEIN这八大跨境电商平台的背景、主要针对群体、消费者购物偏好及选品建议的简要介绍&am…

RIPRO主题美化-首页底部纯标题文章展示模块+网站统计模块美化 WordPress主题美化

教程 1、找到wp-content/themes/ripro/assets/css/diy.css并将附件内的diy.css内容整体复制进去并保存 2、找到wp-content/themes/ripro/parts/home-mode/ulist.php并将附件内的ulist.php上传进去替换即可 3、找到wp-content/themes/ripro/functions.php并将附件内的functio…

解析京东JD商品详情API返回值

京东平台 API 返回值可以在多个方面进行实战应用&#xff0c;以下是一些常见的场景&#xff1a; 应用领域详细描述商品管理- 库存监控&#xff1a;通过返回的库存数据&#xff0c;及时掌握库存数量&#xff0c;设置预警并合理安排补货&#xff0c;同时分析库存变化趋势以优化库…

SAP PO平台的接口资产目录管理及协作案例(基于AIM平台)

一、客户背景 某客户现在的各个系统数量较多&#xff0c;系统接口已全部接入SAP PO中间件软件进行统一性管理。 但由于SAP PO系统的可视化和对多组织、多用户的协作能力较弱&#xff0c;遂使用AIM软件针对各个不同的系统接口做出API规范&#xff0c;并生成接口资产目录&…

存储管理功能

在这里插入图片描述