欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > Vue 3(4)v-show 的使用详解与案例演示

Vue 3(4)v-show 的使用详解与案例演示

2025/10/12 12:27:10 来源:https://blog.csdn.net/Theodore_1022/article/details/148220257  浏览:    关键词:Vue 3(4)v-show 的使用详解与案例演示

一、什么是 v-show

        在 Vue 中,v-show 是一个条件渲染指令,用于控制元素是否显示在页面上。其本质是通过修改 DOM 元素的 CSS display 属性来实现显示或隐藏。

<h1 v-show="isVisible">Hello Vue</h1>

        如果 isVisiblefalse,则该元素仍然存在于 DOM 中,但其 display: none,不会被展示。


二、完整示例:点击按钮切换显示状态

        我们使用 Vue 3 的模块化开发方式(<script type="module">)来演示 v-show 的效果。

示例代码如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>v-show 示例</title>
</head>
<body><div id="app">{{ web.show }}<h1 v-show="web.show">欢迎来到 theodore_1022 的博客  https://blog.csdn.net/Theodore_1022</h1><button @click="turn">切换状态</button></div><script type="module">import { reactive, createApp } from './vue.esm-browser.js'createApp({setup() {const web = reactive({show: true})const turn = () => {web.show = !web.show  // 切换 true/false 状态}return {web,turn}}}).mount('#app')</script>
</body>
</html>

三、核心讲解

1. v-show 的工作原理:

  • v-show="web.show" 中的 web.show 是响应式数据。

  • web.showtrue<h1> 元素可见。

  • web.showfalse,Vue 会自动将该元素的 display 属性设为 none,从视觉上隐藏它,但它仍保留在 HTML 中。

2. 和 v-if 的区别?

特性v-showv-if
是否编译元素编译一次,不管条件真假条件满足才编译,否则从 DOM 中移除
切换开销较低,适合频繁切换较高,适合首次加载后不变的内容
使用场景需要频繁显示 / 隐藏的元素(如菜单、弹窗)内容变化不频繁,节省性能消耗

四、效果演示

初始状态:


点击按钮后:


博客标题出现,再点击又会消失。


五、总结

  • v-show 是 Vue 中控制元素可见性的重要工具,底层通过 display 样式控制;

  • 适合频繁切换可见状态的场景;

  • 对比 v-ifv-show 性能更优但不适合初次条件判断的元素控制;

  • ref()reactive() 一起使用,可以快速实现响应式的显示切换功能。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com