Vue3进阶:条件语句控制内容展示的介绍和编码使用详解(附代码与群资料)

目录

v-if指令

在template中使用v-if

v-else、v-else-if

v-show指令

那么何时使用 `v-if`,何时使用 `v-show` 呢?

总结


图片

更多关于Vue前端相关技术点,敬请关注公众号:CTO Plus后续的发文,有问题欢迎后台留言交流。

图片

注意:由于排版太费时间,所以还是多多注重技术干货的内容吧。

图片

图片

接下来的一段时间我将除了总结关于【Python进阶系列】的知识点分享文章外,还将为各位前端读者(全栈开发者)分享下关于前端开发框架Vue3的内容,当然还会包括:H5、CSS3、JavaScript、JQuery、前端开发规范等前端内容。

然后对Python开发感兴趣的读者也可以关注公众号CTO Plus,关注【Python进阶系列】的内容,同时涉及到Web开发、爬虫开发、操作系统开发、网络安全开发应用领域这块,可以分别参考我的公众号CTO Plus【Flask进阶系列】、【Django进阶系列】、【DRF进阶系列】、【互联网分布式爬虫系列】和【网络安全系列】的内容,敬请关注,欢迎交流。

图片

以下是【Vue3进阶系列】的部分内容

图片

Vue是一个流行的JavaScript框架,它提供了一种简洁而强大的方式来构建用户界面。Vue3是Vue框架的最新版本,引入了许多令人振奋的新功能和改进。

其中一个重要的功能就是条件语句(条件渲染),它允许开发者根据特定的条件来动态地决定是否展示或隐藏(渲染)DOM元素(组件或元素)。

在这篇文章中,我将为大家深入探讨和详细介绍Vue3中条件语句(条件渲染)的用法和示例技巧。

其他的指令详细介绍可以参考文章《Vue3进阶:简化前端开发的利器,以及常用指令汇总详解》和《Vue3进阶:常用的指令缩写详解,以及代码使用示例》。

v-if指令

在前面的几篇文章中也有介绍过v-if指令的使用。在Vue3中,使用v-if指令来实现条件渲染。v-if指令接受一个表达式作为参数,如果该表达式的值为真,则渲染相应的DOM元素;如果值为假,则不进行渲染。

代码示例

<body><p>author:<b>SteveRocket</b></p><p>WeChat:<a href="https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q">https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q</a></p>
    <div>        <p v-if="isVisible">这个段落会在isVisible为true时显示。公众号:CTO Plus</p>        <p v-if="!isVisible">这个段落会在isVisible为false时显示。公众号:CTO Plus</p>    </div></body><script>    const VueApp = {        data() {            return {                isVisible: true            }        }    }    Vue.createApp(VueApp).mount('body')</script>

输出结果

图片

                     

在这个例子中,根据`isVisible`的值,两个段落中的一个会被渲染到页面上。如果`isVisible`为true,第一个段落会显示;如果`isVisible`为false,第二个段落会显示。

在template中使用v-if

因为 v-if 是一个指令,所以必须将它添加到一个元素上。如果是多个元素,可以包裹在 <template> 元素上,并在上面使用 v-if。最终的渲染结果将不包含 <template> 元素。下面是一个简单的例子:

<body><p>author:<b>SteveRocket</b></p><p>WeChat:<a href="https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q">https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q</a></p><template v-if="isShow">    <h1>作者:SteveRocket</h1>    <h2>公众号:CTO Plus</h2>    <div style="width: 100px; height: 20px; background-color: #7030AB"></div></template></body><script>    const VueApp = {        data() {            return {                isShow: true            }        }    }    Vue.createApp(VueApp).mount('body')</script>

输出结果

图片

v-else、v-else-if

除了 `v-if` 指令,Vue 3 还提供了 `v-else` 指令,用于在条件不满足时渲染备选内容。

<body><p>author:<b>SteveRocket</b></p><p>WeChat:<a href="https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q">https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q</a></p>
<template v-if="isTemplate">    <div>        <p v-if="showMessage">这是v-if指令在控制</p>        <p v-else>showMessage的值为False</p>    </div>    <p v-if="age>25">大人</p>    <p v-else-if="0<age<18">未成年</p>    <p v-else-if="18<=age<=25">已成年</p>    <p v-else>未出生</p></template></body><script>    const VueApp = {        data() {            return {                age: 17,                isTemplate: true,                showMessage: true            }        }    }    Vue.createApp(VueApp).mount('body')</script>

在上述例子中,首先在template中使用了v-if指令,如果"isTemplate"为true,则显示template下面的一组元素,否则不展示。如果 `showMessage` 为 `true`,将会渲染 "这是v-if指令在控制",否则将会渲染 " showMessage的值为False "。最后就是一个v-if、v-else-if、v-else的使用。v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。

输出结果

图片

v-show指令

除了v-if指令,Vue3还提供了v-show指令来实现条件渲染。v-show指令与v-if指令类似,也根据表达式的真假来决定是否显示相应的内容,但有一个重要的区别:v-show指令始终会渲染DOM元素到页面上,只是通过CSS的display属性来控制元素的显示和隐藏。

下面是一个使用v-show指令的例子:

<template>  <div>    <p v-show="isVisible">这个段落会根据isVisible的值来显示或隐藏</p>  </div></template><script>
export default {  data() {    return {      isVisible: true    }  }}</script>

在这个例子中,无论`isVisible`的值是true还是false,段落都会被渲染到页面上,只是显示和隐藏的方式不同,该元素的显示状态将通过 CSS 控制隐藏。

与v-if指令相比,v-show指令通常更适合用于频繁切换显示和隐藏的元素,因为它只是通过CSS来进行控制,并没有引入额外的DOM操作。

那么何时使用 `v-if`,何时使用 `v-show` 呢?

n 如果需要频繁切换是否显示某个元素,或者初始渲染时元素的显示状态是受条件控制的,那么可以使用 `v-show`。因为 `v-show` 只是通过 CSS 控制元素的显示与隐藏,切换时不会重新渲染元素,因此性能比较高。

n 如果元素的显示与隐藏频率较低,且初始渲染时元素的显示状态是不确定的,那么可以使用 `v-if`。因为 `v-if` 在切换时会重新创建或销毁元素,因此可以节省一些内存和渲染的开销。

总结

Vue 3 中的条件渲染通过 `v-if` 和 `v-show` 指令提供了灵活的条件渲染功能。使用 `v-if` 可以根据表达式的真假来决定是否渲染元素,并且在条件不满足时可以使用 `v-else` 来渲染备选内容。使用 `v-show` 可以切换元素的显示与隐藏,通过 CSS 控制。根据实际场景选择合适的指令和技巧,可以让我们更好地处理条件渲染的需求。

希望通过本文的介绍,你对Vue3的条件语句有了更深入的了解,能够灵活运用它们来构建出令人满意的应用程序。

后面的文章将分别介绍以下内容:

  • Vue3进阶:循环语句的介绍和编码使用详解(附代码与群资料)

  • Vue3进阶:组件的介绍、使用详解和代码实战案例

大前端专栏

https://blog.csdn.net/zhouruifu2015/category_5734911.html

更多精彩,关注我公号,一起学习、成长

图片

CTO Plus

一个有深度和广度的技术圈,技术总结、分享与交流,我们一起学习。 涉及网络安全、C/C++、Python、Go、大前端、云原生、SRE、SDL、DevSecOps、数据库、中间件、FPGA、架构设计等大厂技术。 每天早上8点10分准时发文。

306篇原创内容

公众号

推荐阅读:

最后,不少前端粉丝后台留言问加技术交流群,之前也一直没弄,所以为满足粉丝需求,现建立了一个关于前端开发相关的技术交流群,加群验证方式必须为本公众号的粉丝,群号如下:

图片

原文:Vue3进阶:条件语句控制内容展示的介绍和编码使用详解(附代码与群资料)

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SteveRocket

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值