码迷,mamicode.com
首页 > 其他好文 > 详细

Vue_v-if&v-show

时间:2019-11-15 16:56:55      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:v-on   选项   出现   一起   node   结合   vue   mod   nbsp   

1.基本使用

v-if,顾名思义,条件判断。当得到结果为true时,所在的元素才会被渲染。

语法:

v-if="布尔表达式"

示例:

<div id="app">
    <button v-on:click="show = !show">点我呀</button>
    <br>
    <h1 v-if="show">
        看到我啦?!
    </h1>
    <h1 v-show="show">
        看到我啦?!show
    </h1>
</div>
<script src="./node_modules/vue/dist/vue.js"></script>
<script type="text/javascript">
    var app = new Vue({
        el: "#app",
        data: {
            show: true
        }
    })
</script>

技术图片

2.与v-for结合

当v-if和v-for出现在一起时,v-for优先级更高。也就是说,会先遍历,再判断条件。

修改v-for中的案例,添加v-if:

<ul>
    <li v-for="(user, index) in users" v-if="user.gender == ‘女‘">
        {{index + 1}}. {{user.name}} - {{user.gender}} - {{user.age}}
    </li>
</ul>

效果:

技术图片

 

 

 只显示女性用户信息

3.v-else

你可以使用 v-else 指令来表示 v-if 的“else 块”:

<div id="app">
    <h1 v-if="Math.random() > 0.5">
        看到我啦?!if
    </h1>
    <h1 v-else>
        看到我啦?!else
    </h1>
</div>

v-else 元素必须紧跟在带 v-if 或者 v-else-if 的元素的后面,否则它将不会被识别。

 

v-else-if,顾名思义,充当 v-if 的“else-if 块”,可以连续使用:

<div id="app">
    <button v-on:click="random=Math.random()">点我呀</button><span>{{random}}</span>
    <h1 v-if="random >= 0.75">
        看到我啦?!if
    </h1>
    <h1 v-else-if="random > 0.5">
        看到我啦?!if 0.5
    </h1>
    <h1 v-else-if="random > 0.25">
        看到我啦?!if 0.25
    </h1>
    <h1 v-else>
        看到我啦?!else
    </h1>
</div>
<script src="./node_modules/vue/dist/vue.js"></script>
<script type="text/javascript">
    var app = new Vue({
        el: "#app",
        data: {
            random: 1
        }
    })
</script>

类似于 v-elsev-else-if 也必须紧跟在带 v-if 或者 v-else-if 的元素之后。

演示:

技术图片

4.v-show

另一个用于根据条件展示元素的选项是 v-show 指令。用法大致一样:

<h1 v-show="ok">Hello!</h1>

不同的是带有 v-show 的元素始终会被渲染并保留在 DOM 中。v-show 只是简单地切换元素的 CSS 属性 display

示例:

<div id="app">
    <!--事件中直接写js片段-->
    <button v-on:click="show = !show">点击切换</button><br/>
    <h1 v-if="show">
        你好
    </h1>
</div>
<script src="./node_modules/vue/dist/vue.js"></script>
<script type="text/javascript">
    var app = new Vue({
        el:"#app",
        data:{
            show:true
        }
    })
</script>

代码:

技术图片

 

 

Vue_v-if&v-show

标签:v-on   选项   出现   一起   node   结合   vue   mod   nbsp   

原文地址:https://www.cnblogs.com/Tunan-Ki/p/11867807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!