当前位置: 首页 > news >正文

在Vue开发中v-if指令和v-show指令的使用介绍和区别及使用场景

一、条件渲染
v-if

v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回真值时才被渲染。

<h1 v-if="awesome">Vue is awesome!</h1>
v-else

你也可以使用 v-else 为 v-if 添加一个“else 区块”。

<h1 v-if="awesome">Vue is awesome!</h1>
<h1 v-else>Oh no</h1>
v-else-if

v-else-if 提供的是相应于 v-if 的“else if 区块”。它可以连续多次重复使用:

<div v-if="type === 'A'">A</div>
<div v-else-if="type === 'B'">B</div>
<div v-else-if="type === 'C'">C</div>
<div v-else>Not A/B/C</div>

和 v-else 类似,一个使用 v-else-if 的元素必须紧跟在一个 v-if 或一个 v-else-if 元素后面。

<template> 上的 v-if

因为 v-if 是一个指令,他必须依附于某个元素。但如果我们想要切换不止一个元素呢?在这种情况下我们可以在一个 元素上使用 v-if,这只是一个不可见的包装器元素,最后渲染的结果并不会包含这个 元素。

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

v-else 和 v-else-if 也可以在 上使用。

v-show

用来按条件显示一个元素的指令是 v-show。其用法基本一样:

<h1 v-show="ok">Hello!</h1>

不同之处在于 v-show 会在 DOM 渲染中保留该元素;v-show 仅切换了该元素上名为 display 的 CSS 属性。

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

二、区别:
渲染区别
  • v-show 是通过控制display属性来进行dom的显示与隐藏
  • v-if 是真正意义上的条件渲染,为true是渲染(dom存在),为false时不存在(dom不存在)
性能区别:
  • v-if有更高的切换开销,v-show有更高的初始渲染开销。
    如果需要频繁的切换,使用v-show比较好,如果运行条件很少改变,使用v-if比较好。
  • v-show比v-if性能更高,因为v-show只能动态的改变样式,不需要增删DOM元素。
    所以当程序不是很大时候,v-if和v-show区别都不大,如果项目很大,推荐多用v-show,较少浏览器后期操作的性能。
  • 需要多种条件场景,比如id=1,=2,=3…时候,因为只有v-if,可以和v-else等连用,这种比较适合用v-if
  • v-show不支持语法
  • v-if切换的时候会实时的销毁和重建内部的事件、钩子函数等,v-show只会初始化渲染时候执行,再切换时候不会执行生命后期的过程。
三、注意事项

永远不要把 v-if 和 v-for 同时用在同一个元素上,带来性能方面的浪费(每次渲染都会先循环再进行条件判断)

相关文章:

在Vue开发中v-if指令和v-show指令的使用介绍和区别及使用场景

一、条件渲染 v-if v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回真值时才被渲染。 <h1 v-if"awesome">Vue is awesome!</h1>v-else 你也可以使用 v-else 为 v-if 添加一个“else 区块”。 <h1 v-if"awesome"&g…...

Power Query是啥

Power Query是一种用于数据获取、转换和整理的功能强大的工具&#xff0c;它是Microsoft Excel和Power BI中的一个组件。Power Query可以帮助用户从各种数据源中获取数据&#xff0c;并进行数据清洗、转换和整理&#xff0c;以便进一步分析和可视化。 使用Power Query&#xf…...

在k8s中部署nfs-client-provisioner

1、部署过程 1.1、环境依赖 在部署nfs-client-provisioner之前&#xff0c;需要先部署nfs服务。 因为&#xff0c;nfs-client-provisioner创建的pv都是要在nfs服务器中搭建的。 本示例中的nfs server的地址如下&#xff1a; [rootnode1 /]# showmount -e Export list for …...

23.12.10日总结

周总结 这周三的晚自习&#xff0c;学姐讲了一下git的合作开发&#xff0c;还有懒加载&#xff0c;防抖&#xff0c;节流 答辩的时候问了几个问题&#xff1a; 为什么在js中0.10.2!0.3? 在js中进行属性运算时&#xff0c;会出现0.10.20.300000000000000004js遵循IEEE754标…...

持续集成交付CICD:通过API方式上传Nexus制品

目录 一、实验 1.通过API方式上传Nexus制品 二、问题 1.如何通过API方式上传PNG图片 2.如何通过API方式上传tar.gz 与 ZIP文件 3.如何通过API方式上传Jar file文件 4.如何通过API方式上传制品&#xff08;maven类型的制品&#xff09;文件 5.如何下载制品 一、实验 1.通…...

Hadoop学习笔记(HDP)-Part.14 安装YARN+MR

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …...

reinforce 跑 CartPole-v1

gym版本是0.26.1 CartPole-v1的详细信息&#xff0c;点链接里看就行了。 修改了下动手深度强化学习对应的代码。 然后这里 J ( θ ) J(\theta) J(θ)梯度上升更新的公式是用的不严谨的&#xff0c;这个和王树森书里讲的严谨公式有点区别。 代码 import gym import torch from …...

【VRTK】【VR开发】【Unity】13-攀爬

课程配套学习资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【概述】 VRTK提供两个预制件实现攀爬 Climbing Controller,用于控制Player的物理义体Climbable Interactable,用于设置可攀爬对象【设置Climbing Controller…...

华为OD机试真题-求幸存数之和-2023年OD统一考试(C卷)

题目描述&#xff1a; 给一个正整数列 nums&#xff0c;一个跳数 jump&#xff0c;及幸存数量 left。运算过程为&#xff1a;从索引为0的位置开始向后跳&#xff0c;中间跳过 J 个数字&#xff0c;命中索引为J1的数字&#xff0c;该数被敲出&#xff0c;并从该点起跳&#xff…...

python pyaudio实时读取音频数据并展示波形图

python pyaudio实时读取音频数据并展示波形图 下面代码可以驱动电脑接受声音数据&#xff0c;并实时展示音波图&#xff1a; import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation import pyaudio import wave import os import op…...

【算法系列篇】递归、搜索和回溯(二)

文章目录 前言1. 两两交换链表中的节点1.1 题目要求1.2 做题思路1.3 代码实现 2. Pow(X,N)2.1 题目要求2.2 做题思路2.3 代码实现 3. 计算布尔二叉树的值3.1 题目要求3.2 做题思路3.3 代码实现 4. 求根节点到叶结点数字之和4.1 题目要求4.2 做题思路4.3 代码实现 前言 前面为大…...

Ubuntu下安装SDL

源码下载地址&#xff08;SDL version 2.0.14&#xff09;&#xff1a;https://www.libsdl.org/release/SDL2-2.0.14.tar.gz 将源码包拷贝到系统里 使用命令解压 tar -zxvf SDL2-2.0.14.tar.gz 解压得到文件夹 SDL2-2.0.14 进入文件夹 执行命令 ./configure 执行命令 make…...

创建vue项目:vue脚手架安装、vue-cli安装,vue ui界面创建vue工程(vue2/vue3),安装vue、搭建vue项目开发环境(保姆级教程二)

今天讲解 Windows 如何利用脚手架创建 vue 工程&#xff0c;以及 vue ui 图形化界面搭建 vue 开发环境&#xff0c;这是这个系列的第二章&#xff0c;有什么问题请留言&#xff0c;请点赞收藏&#xff01;&#xff01;&#xff01; 文章目录 1、安装vue-cli脚手架2、vue ui创建…...

【3】密评-物理和环境安全测评

0x01 依据 GB/T 39786 -2021《信息安全技术 信息系统密码应用基本要求》针对等保三级系统要求&#xff1a; 物理和环境层面&#xff1a; a&#xff09;宜采用密码技术进行物理访问身份鉴别,保证重要区域进入人员身份的真实性&#xff1b; b&#xff09;宜采用密码技术保证电子门…...

笨爸爸工房,我们在校园|“小鲁班”,铸未来

为了响应国家号召&#xff0c;将劳动教育课程真正实现融入校园生活&#xff0c;笨爸爸工房已与洛阳市西下池小学、洛阳市第一实验小学西工校区、洛阳市西工区第二实验小学、洛阳第二外国语学校&#xff08;兰溪校区&#xff09;、洛阳市睿源幼儿园&#xff0c;这4所学校及1家幼…...

RPC 集群,gRPC 广播和组播

一、集群抽象&#xff1a;cluster 它是指我们在调用远程的时候&#xff0c;尝试解决&#xff1a; 1、failover:即引入重试功能&#xff0c;但是重试的时候会换一个新节点 2、failfast: 立刻失败&#xff0c;不需要重试 3、广播&#xff1a;将请求发送到所有的节点上 4、组…...

OpenSSL SSL_read: Connection was reset, errno 10054

fatal: unable to access ‘https://github.com/vangleer/es-big-screen.git/’: OpenSSL SSL_read: Connection was reset, errno 10054 解决方法&#xff1a;git config --global http.sslVerify “false” 参考链接&#xff1a; https://github.com/Kong/insomnia/issues/2…...

【springboot】整合redis和定制化

1.前提条件:docker安装好了redis,确定redis可以访问 可选软件: 2.测试代码 (1)redis依赖 org.springframework.boot spring-boot-starter-data-redis (2)配置redis &#xff08;3&#xff09; 注入 Resource StringRedisTemplate stringRedisTemplate; 这里如果用Autowi…...

HarmonyOS鸿蒙操作系统架构开发

什么是HarmonyOS鸿蒙操作系统&#xff1f; HarmonyOS是华为公司开发的一种全场景分布式操作系统。它可以在各种智能设备&#xff08;如手机、电视、汽车、智能穿戴设备等&#xff09;上运行&#xff0c;具有高效、安全、低延迟等优势。 目录 HarmonyOS 一、HarmonyOS 与其他操…...

共创共赢|美创科技获江苏移动2023DICT生态合作“产品共创奖”

12月6日&#xff0c;以“5G江山蓝 算网融百业 数智创未来”为主题的中国移动江苏公司2023DICT合作伙伴大会在南京成功举办。来自行业领军企业、科研院所等DICT产业核心力量的百余家单位代表参加本次大会&#xff0c;共话数实融合新趋势&#xff0c;共拓合作发展新空间。 作为生…...

别再为PyTorch GPU环境发愁了!手把手教你用Miniconda管理多版本CUDA(GTX1060实测)

深度学习环境配置实战&#xff1a;GTX1060显卡下的PyTorch GPU环境搭建指南 在深度学习领域&#xff0c;环境配置往往是新手面临的第一个挑战。特别是当您手头有一块GTX1060这样的经典显卡时&#xff0c;如何充分发挥其计算潜力&#xff0c;同时避免陷入版本兼容性问题的泥潭&…...

WPF进阶:Canvas动态图形绘制与交互实现

1. Canvas动态图形绘制基础 WPF中的Canvas就像一块无限延伸的画布&#xff0c;我们可以在这块画布上自由地绘制各种图形元素。与静态绘制不同&#xff0c;动态绘制的魅力在于图形能够根据用户操作实时变化。我刚开始接触Canvas时&#xff0c;最让我兴奋的就是看到鼠标移动时能实…...

国密双证书体系深度解读:为什么你的GMTLS客户端需要两个证书?从ECC到ECDHE模式全解析

国密双证书体系深度解析&#xff1a;从设计哲学到工程实践 当开发者第一次接触国密GMTLS协议时&#xff0c;最令人困惑的莫过于那个看似"多余"的第二个证书。为什么在标准TLS中运行良好的单证书体系&#xff0c;到了国密环境中就需要拆分成加密证书和签名证书&#x…...

LongCat-Video:AI视频生成技术的范式突破与实践指南

LongCat-Video&#xff1a;AI视频生成技术的范式突破与实践指南 【免费下载链接】LongCat-Video 项目地址: https://ai.gitcode.com/hf_mirrors/meituan-longcat/LongCat-Video 在数字内容创作领域&#xff0c;AI视频生成技术正经历从实验性探索到产业化应用的关键转折…...

League-Toolkit:告别繁琐操作,让英雄联盟玩家效率提升300%的智能助手

League-Toolkit&#xff1a;告别繁琐操作&#xff0c;让英雄联盟玩家效率提升300%的智能助手 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 副…...

告别环境配置烦恼:在Windows上通过VSCode与ESP-IDF快速搭建ESP32开发环境

1. 为什么选择VSCodeESP-IDF开发ESP32&#xff1f; 作为一个从Arduino转向ESP32开发的过来人&#xff0c;我深刻理解新手在环境配置上的痛苦。传统方法需要手动安装Python、Git、交叉编译工具链等十多个组件&#xff0c;光是处理环境变量冲突就能让人崩溃一整天。直到发现VSCod…...

51单片机开发环境搭建指南:从Keil5安装到程序烧录全流程

1. 51单片机开发环境搭建全攻略 刚接触51单片机的朋友可能会被一堆陌生的名词搞懵——Keil5、CH340、HEX文件、烧录工具...别担心&#xff0c;我当初也是这样过来的。今天我就用最直白的语言&#xff0c;手把手带你搭建完整的开发环境。整个过程就像组装乐高积木&#xff0c;只…...

Phi-3-mini-4k-instruct-gguf作品展:面向开发者的技术文档摘要生成样例

Phi-3-mini-4k-instruct-gguf作品展&#xff1a;面向开发者的技术文档摘要生成样例 1. 模型简介 Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本。这个经过优化的模型特别适合处理问答、文本改写、摘要整理和简短创作等任务。作为开发者工具&…...

厦门GEO软件哪家强?实测主流平台,为你揭秘推荐榜单

在数字化转型浪潮中&#xff0c;GEO&#xff08;地理定位优化&#xff09;软件成为企业提升本地化营销效率的关键工具。面对厦门市场上琳琅满目的GEO平台&#xff0c;如何选择一款适配自身业务需求、技术稳定且安全合规的解决方案&#xff0c;成为众多企业面临的难题。作为第三…...

从信息收集到密码爆破:如何用DictGenerate定制你的专属社工字典?

从信息收集到密码爆破&#xff1a;如何用DictGenerate定制你的专属社工字典&#xff1f; 在授权渗透测试和安全评估中&#xff0c;社会工程学攻击往往是最难防御的一环。攻击者通过收集目标的个人信息&#xff0c;精心构造符合目标习惯的密码字典&#xff0c;能够显著提高暴力…...