v-if 和v-show的相同和区别

引入vue.js

注意的是:
v-if后边的条件只要跟着v-else 中间就不能在夹杂任何的标签元素了
v-if和v-show 相同点都是实现对dom的操作,显示或者隐藏
不同的是:v-if是将元素在文章中删除。
v-show则是相当于添加了样式 display:none。

v-show不能使用在template标签上,只因为本身template就不会渲染,
只是在修改css属性中的display;也不能配合v-else使用。

所以:一般来说,v-if有更高的切换开销,而v-show有更高的初始渲染开销,
因此。如果需要非常频繁的切换,就使用v-show,如果运行条件很少该笔那,则用v-if

条件渲染
1 v-if
在Vue中可以使用v-if来控制模板里元素的显示和隐藏,值为true就显示,为false就隐藏,v-if控制的是 是否渲染这个节点。
2 v-else v-else-if
当有else分支逻辑的时候,可以给该元素加上v-else 指令控制,v-else会根据上面的哪个v-if来控制,效果与 v-if相反,注意就是一定及挨着
还有哦v-else-if指令可以实现多分支逻辑。
在这里插入图片描述

 <div id='app'>
    {{msg}}
    <p><button @click="isShow=!isShow">点击切换</button></p>
    <!-- <p v-if='isShow'>v-if显示的p段落</p>
    <p v-else>v-else文段</p> -->

    <!-- v-show -->
    <p v-show='isShow'>这个是v-show,</p>

    <template v-show='isShow' >
      <!-- 在这里v-show是不能和template一起使用的 如果套一起是=使用就讲v-show改成v-if -->
      <p >这个是template文段</p>
    </template>

    <template v-if='isShow'>
      <p>这个是新的恩端</p>
    </template>
<!-- eg  v-if
-->
<input type="text" v-model='type'>
<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标签中内容

    var vm =new Vue({
      el:'#app',
      data:{
        msg:"nihao",
        isShow:true,
        type:true,
      }
    })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值