07-Vue的条件判断


v-if的使用

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
  </head>

  <body>
    <div id="app">
      你好
      <h2 v-if="isShow">{{message}}</h2>
    </div>

    <script src="../js/vue.js"></script>
    <script>
      const app = new Vue({
        el: "#app",
        data: {
          message: "你好",
          isShow: false
        }
      })
    </script>
  </body>
</html>
1.v-if的使用

即对当前标签根据一个boolean判断是否显示。

<h2 v-if="isShow">{{message}}</h2>

此时isShow的值为false,则页面并不会显示message的内容。


v-if和v-else的使用

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
  </head>

  <body>
    <div id="app">
      <h2 v-if="isShow">{{message}}</h2>
      <h2 v-else>isShow为false时,显示我</h2>
    </div>

    <script src="../js/vue.js"></script>
    <script>
      const app = new Vue({
        el: "#app",
        data: {
          message: "你好",
          isShow: true
        }
      })
    </script>
  </body>
</html>
1.使用规则

当if为false时,则显示用else标记的标签中的内容,if和else在多数语言中都有且用法相似,在这里不做过多的讲解。


v-if和v-else-if和v-else的使用

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
  </head>

  <body>
    <div id="app">
      <h2 v-if="score >= 90">优秀</h2>
      <h2 v-else-if="score >= 80">良好</h2>
      <h2 v-else-if="score >= 60">及格</h2>
      <h2 v-else="score < 60">不及格</h2>

      <!-- 当逻辑判断比较多时,不建议写在html里面,可以写在计算属性里 -->
      <h1>{{result}}</h1>
    </div>

    <script src="../js/vue.js"></script>
    <script>
      const app = new Vue({
        el: "#app",
        data: {
          score: 99
        },
        computed: {
          result() {
            let showMessage = ""
            if (this.score >= 90) {
              showMessage = "优秀"
            } else if (this.score >= 80) {
              showMessage = "良好"
            } else if (this.score >= 60) {
              showMessage = "及格"
            } else {
              showMessage = "不及格"
            }
            return showMessage
          }
        }
      })
    </script>
  </body>
</html>
1.v-else-if的使用

当有多个选择项时,可以使用v-else-if进行多层嵌套。if和else在多数语言中都有且用法相似,在这里不做过多的讲解。


用户登录切换的案例

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
  </head>

  <body>
    <div id="app">
      <span v-if="isUser">
        <label for="username">用户帐号</label>
        <input type="text" id="username" placeholder="用户帐号" />
      </span>
      <span v-else>
        <label for="email">用户邮箱</label>
        <input type="text" id="email" placeholder="用户邮箱" />
      </span>
      <button @click="isUser = !isUser">切换类型</button>
    </div>

    <script src="../js/vue.js"></script>
    <script>
      const app = new Vue({
        el: "#app",
        data: {
          isUser: true
        }
      })
    </script>
  </body>
</html>
1.内容简介

将帐号登录和邮箱登录分别放在if和else标记的标签,点击button切换boolean的值,即可完成操作。


v-show的使用

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
  </head>

  <body>
    <div id="app">
      <h2 v-if="isShow">{{message}}</h2>

      <h2 v-show="isShow">{{message}}</h2>
    </div>

    <script src="../js/vue.js"></script>
    <script>
      const app = new Vue({
        el: "#app",
        data: {
          message: "你好",
          isShow: true
        }
      })
    </script>
  </body>
</html>
1.v-show是什么

v-show是和v-if类似的判断是否显示的标签,如果判断变量为false,则标签中内容同样不会显示,代码如下:

<h2 v-show="isShow">{{message}}</h2>
2.v-show和v-if的区别
  • v-if判断失败时,则该元素不存在。
  • v-show判断失败时,该元素依然存在,只是看不到(display:none)
3.该如何选择
  • 当需要在显示与隐藏之间切片很频繁时,推荐使用v-show。
  • 当只有一次切换时,推荐使用v-if。

第一次记录自己的学习笔记,如果您发现问题,欢迎指点。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蓝带915

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

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

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

打赏作者

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

抵扣说明:

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

余额充值