前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VUE3快速入门——条件渲染v-if/v-show

VUE3快速入门——条件渲染v-if/v-show

原创
作者头像
小明爱吃火锅
发布2024-04-17 15:38:15
2430
发布2024-04-17 15:38:15
举报
文章被收录于专栏:小明说Java小明说Java

前言

与其他语言都一样,条件语句必不可少,vue中也是。本文将为介绍如何在Vue3中使用v-ifv-show指令实现条件渲染,v-if和v-show可以实现,在vue中改变条件,立即响应,可以用来控制元素的显示和隐藏,相比传统js简介很多。想要更多使用方式,可以到官网去查询。

v-if/v-show代码案例

首先,还是先来看一下v-if和v-show的语法结构:

v-if

  • 语法:v-if="表达式",表达式值为 true,显示;false,隐藏
  • 其它:可以配合 v-else-if/v-else 进行链式调用条件判断
  • 原理:基于条件判断,来控制创建或移除元素节点(条件渲染)

v-show

  • 语法:v-show="表达式",表达式值为 true,显示;false,隐藏
  • 原理:基于CSS样式display来控制显示与隐藏

接下来直接展示代码部分

代码语言:javascript
复制
<!-- 步骤1 定义vue关联模块-->
<div id="app">
    <div>
        <p v-if="price > 0 && price <= 10">价格 <= 10</p>
        <p v-else-if="price > 10 && price <= 20">价格 <= 20 </p>
        <p v-else>价格其他</p>
        <p v-show="price == 100">价格== 20</p>
    </div>
</div>

<script type="module">
    // 步骤2 引入vue模块 在线CDN的引入方式,从vue.esm-browser.js获取到createApp
    import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
    // 步骤3 创建Vue实例,挂载到app div上
    createApp({
        // 步骤4 定义数据这些数据会跟上面绑定的div关联
        data() {
            return {
                price: 19,
            };
        },
    }).mount('#app')
</script>

这段代码主要使用v-ifv-else-ifv-else指令实现了条件渲染,以及使用v-show指令控制元素的可见性,根据price数据属性的进而展示不同的语句。data中的price在实际开发中可以通过后台动态数据获取得到,而且也能够结合绑定事件改变price的值,进而影响条件语句。

接下来查看中结果,可以看到展示的是价格 <= 20,因为我们定义price:19。

总结

在本文中,我们介绍了如何在Vue3中使用v-ifv-show指令实现条件渲染。通过使用这些指令,可以轻松地根据数据的值来控制元素的显示和隐藏,从而提高开发效率。那么这两种有什么区别呢?

v-if 是“真实的”按条件渲染,因为它确保了在切换时,条件区块内的事件监听器和子组件都会被销毁与重建。

v-if 也是惰性的:如果在初次渲染时条件值为 false,则不会做任何事。条件区块只有当条件首次变为 true 时才被渲染。

相比之下,v-show 简单许多,元素无论初始条件如何,始终会被渲染,只有 CSS display 属性会被切换。

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

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • v-if/v-show代码案例
  • 总结
相关产品与服务
内容分发网络 CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档