Vue学习----第二天_条件判断【6.1】

一、v-if、v-else-if、v-else

在这里插入图片描述

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

代码如下:

<div id='app'>
    <div v-if="isShow">
      <h2 v-if="true">为true显示</h2>
    </div>
    <div v-else>为false显示</div>
  </div>

  <script src='./js/vue.js'></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        message: '你好',
        isShow: true
      }
    })
  </script>

效果如下:
在这里插入图片描述

2.v-if、v-else-if、v-else的使用

代码如下:

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

  <script src='./js/vue.js'></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        score: 99
      }
    })
  </script>

效果如下:
在这里插入图片描述

二、条件渲染案例

在这里插入图片描述
代码如下:

<div id='app'>
    <span v-if="isUser">
      <label for="userName">用户账号</label>
      <input type="text" id="userName">
    </span>
    <span v-else>
      <label for="userEmail">用户邮箱</label>
      <input type="text" id="userEmail">
    </span>
    <button @click="btnClick">切换类型</button>
  </div>

  <script src='./js/vue.js'></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        isUser: true
      },
      methods: {
        btnClick() {
          this.isUser = !this.isUser
        }
      }
    })
  </script>

效果如下:
在这里插入图片描述

1.用户登录切换小案例,存在的问题

在这里插入图片描述
问题展示:点击切换类型,input中的内容不变
在这里插入图片描述
解决方案:
在对应的input中添加不同的key

<div id='app'>
    <!-- 防止input被虚拟DOM复用,在input中加入key -->
    <span v-if="isUser">
      <label for="userName">用户账号</label>
      <input type="text" id="userName" key="userName">
    </span>
    <span v-else>
      <label for="userEmail">用户邮箱</label>
      <input type="text" id="userEmail" key="userEmail">
    </span>
    <button @click="btnClick">切换类型</button>
  </div>
三、v-show

在这里插入图片描述
代码如下:

<div id='app'>
    <!-- v-if:当条件为false时,包含v-if指令元素,DOM中不存在 -->
    <h2 v-if="isShow" id="aaa">{{message}}</h2>
    <!-- v-show:当条件为false,v-show只是增加了行内隐藏样式display:none -->
    <h2 v-show="isShow" id="bbb">{{message}}</h2>
  </div>

  <script src='./js/vue.js'></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        message: '你好',
        isShow: true
      }
    })
  </script>

效果如下:
在这里插入图片描述

内容持续更新中…
lvan学习笔记-文章内容仅个人观点
2020.6.1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值