v-if和v-show的区别

vue中显示隐藏方法常用两种,v-show和v-if,但这两种是有区别的。

  • vue-show本质就是标签display设置为none,控制隐藏
  • vue-if是动态的向DOM树内添加或者删除DOM元素

编译的条件

  • v-show都会编译,初始值为false,只是将display设为none,但它也编译了
  • v-if初始值为false,就不会编译了

编译的区别

  • v-show其实就是在控制css
  • v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件

用法:

  • v-if更灵活,举个例子
//这个里面只会显示数组角标大于等于2的内容
  <li v-for="(item, index) in newData" v-if="index <= 2">
      <span>{{ item.name }}</span>
  </li>
 //这个上面为true的内容,下面为false的内容(当然这个也可以用v-show实现的)
 <li v-for="(item, index) in newData" v-if="item.share">
     <span>{{ item.share }}</span>
 </li>
 <li v-else>
      <span>{{ item.share }}</span>
 </li>

如果你的页面不想让其他程序员看到就用v-if,它不会在页面中显示。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值