v-if 与 v-show(vue3条件渲染)

v-if 是"真正"的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。

v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做------直到条件第一次变为真时,才会开始渲染条件块。

相比之下,v-show 就简单得多------不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。

一般来说,v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。

注意,v-show 不支持 <template> 元素,也不支持 v-else。

  • v-show 不支持 <template> 元素,因为 <template> 元素不会被渲染到最终的 DOM 中,而 v-show 是通过修改 DOM 元素的 CSS 来控制可见性的。
  • v-show 也不支持 v-else,因为 v-show 只是简单地切换元素的可见性,而不是像 v-if 那样根据条件来选择性地渲染不同的元素或组件。

v-show是控制可见性,v-if是真正的条件渲染

相关推荐
ch.ju几秒前
Java Programming Chapter 3——If the array is out of range
java·开发语言
康小汪1 分钟前
IntelliJ IDEA 安装教程(Windows 版)
java·windows·intellij-idea
@SmartSi4 分钟前
AgentScope Java 入门系列:Spring AI Alibaba 与 AgentScope 的定位与区别
java·spring·agentscope
LIUAWEIO4 分钟前
Unix 时间戳换算
前端·后端·unix·database
一只大袋鼠4 分钟前
JavaWeb四种文件上传方式(上篇)
java·开发语言·servlet·javaweb
金玉满堂@bj4 分钟前
Django \+ MySQL 的标准 Web 项目搭建-初级练习小项目
前端·mysql·django
网络工程小王4 分钟前
【LangGraph的工作流编排能力】学习笔记
java·服务器·数据库·人工智能·langchain
她说可以呀10 分钟前
JWT令牌检验用户是否登录
java·spring boot·spring·java-ee·maven
一氧化二氢.h12 分钟前
【简单理解】数组、数组列表、集合
java