Vue入门——v-show&v-if

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


介绍

作用:这两类指令,都是用来控制元素的显示与隐藏的

  • v-if

    • 语法:v-if=“表达式”,表达式值为true,显示;false,隐藏

    • 其他:可以配合v-else-if / v-else 进行链式调用条件判断

    • 原理:基于条件判断,来控制创建或移除元素的节点(条件渲染)

    • 场景:要么显示,要么不显示,不频繁切换的场景

  • v-show

    • 语法:v-show=“表达式”,表达式值为 true,显示;false 隐藏

    • 原理:基于CSS样式display来显示与隐藏

    • 场景:频繁切换显示隐藏的场景

例如下面的京东网页左边栏,我鼠标移动时右边的画面会跟着移动,这个就适合用v-show

在这里插入图片描述


一、案例

我们展示一个拖鞋价格,根据不容的条件去展示鞋子的价格

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div id="app">

        鞋子价格为:  <span v-if="customer.level >= 0 && customer.level <= 1">9.9</span>
                    <span v-else-if="customer.level >= 2 && customer.level <= 4">19.9</span>
                    <span v-else>29.9</span>

        <br/>

        手链价格为:  <span v-show="customer.level >= 0 && customer.level <= 1">9.9</span>
                    <span v-show="customer.level >= 2 && customer.level <= 4">19.9</span>
                    <span v-show="customer.level >= 5">29.9</span>


    </div>

    <script type="module">
        //导入vue模块
        import { createApp} from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'

        //创建vue应用实例
        createApp({
            data() {
                return {
                    customer:{
                        name: '张三',
                        level:3
                    }
                }
            }
        }).mount("#app")//控制html元素
    </script>
</body>

</html>

可以看到价格都展示出来了,但是我们f12使用开发者工具查看源码

在这里插入图片描述

可以看到v-if标签只有一个span元素,v-show有三个span元素,只是被display修饰为隐藏的了

在这里插入图片描述

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

无技术,不人生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值