美文网首页
Vue.js条件判断(v-if 和 v-show)

Vue.js条件判断(v-if 和 v-show)

作者: 码上行动 | 来源:发表于2019-03-02 20:29 被阅读0次

条件判断

1. v-if

1.1 v-if 和 v-else

条件判断使用 v-if 指令:
随机生成一个数字,判断是否大于0.5,然后输出对应信息:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例</title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
    <div v-if="Math.random() > 0.5">
      大于5
    </div>
    <div v-else>
      小于5
    </div>
</div>
    
<script>
new Vue({
  el: '#app'
})
</script>
</body>
</html>

注意:v-if 可以配合v-else使用,也可以单独使用 。当配合v-else使用时,加有v-else的标签要紧跟加有v-if的标签之后,中间如果穿插其他标签,v-else将永远不会显示出来,并会报错!
如果v-if后面跟的是布尔值,而非变量语句的时候,可以根据布尔值真假判断显示和不显示 ,舍弃v-else 用v-if="flag" 配合 v-if="!flag"来解决中间不可以穿插其他标签的问题,可见v-if 配合v-else使用非常有局限性!

1.2 v-if 和 v-else-if

v-else-if 在 2.1.0 新增,顾名思义,用作 v-if 的 else-if 块。可以链式的多次使用:
判断 type 变量的值:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 </title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
    <div v-if="type === 'A'">
      A
    </div>
    <div v-else-if="type === 'B'">
      B
    </div>
    <div v-else-if="type === 'C'">
      C
    </div>
    <div v-else>
      Not A/B/C
    </div>
</div>
    
<script>
new Vue({
  el: '#app',
  data: {
    type: 'C'
  }
})
</script>
</body>
</html>

输出C,同上v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。

2. v-show

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="vue.js"></script>
</head>
<body>
    <div id="app">

        <!-- v-show 控制元素的显示和隐藏 -->
        <h1 v-show="flag">hello</h1> 
    </div>
</body>
<script>
    var app=new Vue({
        el:"#app",
        data:{
            flag:true,
       }
    })
</script>
</html>

v-if和v-show的区别:

v-if底层控制的是节点的添加和删除,v-if一旦为假,带有v-if 的标签将不复存在,而v-show底层控制的是标签样式的显示和隐藏,并不会删除标签节点!

相关文章

  • vue2.0基础(一、内部指令)

    指令 1、条件判断 v-if v-else v-show ### v-if 和v-show的区别: v-if:...

  • vue中v-if与v-show的区别

    在 Vue.js 中,使用 v-if 和 v-show 指令来控制条件渲染。 1.二者的区别: v-show :会...

  • vue.js--条件语句&循环语句

    Vue.js条件与循环 条件判断 v-if指令 条件判断使用v-if指令 在这个例子里,v-if 指令根据表达式 ...

  • 2018-05-22 指令

    v-if && v-show && v-else v-if和v-show的区别:v-if 判断是否加载,如果时fa...

  • 第二天

    1、v-show和v-if区别? v-show判断节点是否隐藏 v-if 判断节点是否渲染 2、vue中key的作...

  • Vue学习笔记二:Vue基础语法

    1.模板语法 2.属性绑定 3.条件渲染 v-if & v-show v-if 和v-show的区别:v-if: ...

  • Vue.js条件判断(v-if 和 v-show)

    条件判断 1. v-if 1.1 v-if 和 v-else 条件判断使用 v-if 指令:随机生成一个数字,判...

  • vue.js学习笔记

    vue.js指令 v-if 用来判断是否加载html的DOM v-else v-show 调整css中displa...

  • Vue面试题汇总

    1. v-if与v-show区别 v-if只有当条件是true才进行渲染,是真正的销毁和重建。v-show无论条件...

  • vue基础

    v-show和v-if v-show跟v-if都是做条件隐藏跟显示用的, v-show是根据样式进行显示隐藏dis...

网友评论

      本文标题:Vue.js条件判断(v-if 和 v-show)

      本文链接:https://www.haomeiwen.com/subject/llpyuqtx.html