Vue之条件渲染

条件渲染


1.v-if

条件性的渲染一块内容 指令中的表达式返回为true的时候渲染 反之为false 不渲染

    <p v-if="first">one</p>
    <p v-if="second">two</p>
    <p v-if="third">null</p>
new Vue({
        el:"#second",
        data:{
            first:true,
            second:false,
            third:null,
        }
    })
2. v-else

v-else指令来表示v-if的else块 如果v-if块表达式为false 不被渲染 则渲染对应的v-else 块

    <p v-if="first"> v-if块1</p>
    <p v-else> v-else块1</p>
    <p v-if="second">v-if块2</p>
    <p v-else> v-else块2</p>
 new Vue({
        el:"#second",
        data:{
            first:true,
            second:false
        }
    })
3.v-show

也是根据条件展示元素 条件为true 展示 反之 不展示

不同的是 v-show的不显示 只是类似于不显示 display:hidden ,元素仍然保存在DOM中

<div id="first">
    <p v-show="one">hello world</p>
    <p v-show="two">hello world</p>
</div>
<script>
    new Vue({
        el:'#first',
        data:{
            one:true,
            two:123
        }
    })
</script>

v-if 与 v-show 的对比

  1. v-if是真正的条件渲染 ,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。
  2. v-show 是虚假的条件渲染 不管是true或者false ,元素都会被渲染,显示隐藏只是CSS进行切换

v-ifv-show
切换开销
渲染开销低(开始只渲染为true的块)高(所有块都渲染 只不过是false块不显示)
适用条件条件很少改变 不经常切换非常频繁的切换
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值