首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Vue3中的条件渲染

Vue3中的条件渲染

原创
作者头像
软件架构师Michael
发布2022-09-03 15:21:51
发布2022-09-03 15:21:51
1.5K00
代码可运行
举报
运行总次数:0
代码可运行

1.v-show

tips:

  • 在Vue3中使用v-show控制的元素的显示与隐藏
  • v-show里面接收的数据会自动转化为布尔值
  • 若v-show为false,则被指令元素变为display:none

代码实例:

代码语言:javascript
代码运行次数:0
运行
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>methods test</title>
    <script src="https://unpkg.com/vue@3"></script>
    <style>
        .sky{width:100px;height: 100px; border: 1px solid #ccc;background-color: red;}
    </style>
</head>
<body>
    <div id="michael">
        <button @click="change">切换</button>
       <div class="sky" v-show="show">
       </div>
    </div>
    <script>
        Vue.createApp({
            data(){
                return {
                    "content":"Vue3",
                    "show":true
                }
            },
            "methods":{
                change(){
                    this.show=!this.show
                }
            }
        }).mount('#michael')
    </script>

   
</body>
</html>

2.v-if

tips:

  • Vue3中使用v-if对元素进行条件渲染
  • v-if可以接收任何数据转化成布尔值进行渲染和不渲染
  • v-if比v-show使用起来更加消耗性能资源
  • v-if可以进行v-else-if和v-else指令的拓展
  • v-if的拓展指令必须相邻

代码语言:javascript
代码运行次数:0
运行
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://unpkg.com/vue@3"></script>
    <title>Document</title>
</head>
<body>
    <div id="michael">
         <span v-show="num">SPAN</span>
         <span v-if="lancy">lancy</span>
         <div v-if="start==0">0</div>
         <div v-else-if="start==1">1</div>
         <div v-else>2</div>
    </div>
    <script>
        Vue.createApp({
            data(){
                return {
                     "num":false,
                     "lancy":false,
                     "start":10
                }
            },
            "methods":{

            }
        }).mount('#michael')

    </script>
</body>
</html>

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档