Vue 的条件判断语句

@[TOC] 条件语句

Vue 的条件判断语句

v-if

条件判断用 v-if 指令
代码示例:在元素中使用 v-if 指令

<div id="app">
	<input type="button" value='toggle' @click='flag=!flag'>
    <h3 v-if='flag'>v-if directive</h3>
</div>
var vm = new Vue({
	el:'#app',
    data:{
       flag:true
    },
    methods:{}
});

这里, v-if 指令将根据表达式 flag 的值 (true 或 false ) 来决定是否插入 h3 元素。

v-else

可以用 v-else 指令给 v-if 添加一个 “else” 块
代码示例:在元素中使用 v-if , v-else 指令

<div id="app">
    <h3 v-if='flag'>Yes</h3>    
    <h3 v-else='flag'>No</h3>
</div>
var vm = new Vue({
	el:'#app',
    data:{
       flag:true
    },
    methods:{}
});

这里, v-if,v-else 指令将根据表达式 flag 的值 (true 或 false ) 来决定是否插入 h3 元素以及元素中的值。

v-else-if

v-else-if 在 2.1.0 新增,用作 v-if 的 else-if 块。可以链式的多次使用
代码示例:在元素中使用 v-if , v-else, v-else-if 指令

<div id="app">
    <h3 v-if='star==="Jackson"'>Jackson</h3>    
    <h3 v-else-if='star==="Lay"'>Lay</h3>    
    <h3 v-else='star==="Yang"'>Yang</h3>
</div>
var vm = new Vue({
	el:'#app',
    data:{
       star:Jackson
    },
    methods:{}
});

v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。

v-show

v-show 跟 v-if 的效果差不多;但本质有很大的区别。
代码示例:v-if 与 v-show 的区别

    <div id="app">
        <input type="button" value='toggle' @click='toggle'>
        <!-- 一般来说,v-if 有更高的切换消耗,而 v-show 有更高的初始渲染消耗。
        因此,如果需要频繁切换:用 v-show 较好;如果在运行时条件不大可能改变:
        用 v-if 较好 -->
        <h3 v-if='flag'>v-if directive</h3>
        <h3 v-show='flag'>v-show directive</h3>
    </div>
<script>
    var vm = new Vue({
        el:'#app',
        data:{
            flag:true
        },
        methods:{
            toggle(){
                this.flag =! this.flag;
            }
        }
    });
</script>

v-if 与 v-show 的区别

区别一:

  • v-if 是动态添加,当值为 false时,是完全移除该元素,即 DOM 不存在;
  • v-show 仅隐藏 / 显示,值为 false 时,该元素依旧存在于 DOM,若其原样式设 display:none 则会导致其无法正常显示

区别二:

  • v-if 有较高的切换性能消耗
  • v-show 有较高的初始渲染消耗
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值