美文网首页
15、v-show与v-if用法和区别

15、v-show与v-if用法和区别

作者: 蕉下客_661a | 来源:发表于2019-05-15 18:18 被阅读0次

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

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

    编译的区别

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

    编译的条件

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

    性能

    v-show只编译一次,后面其实就是控制css,而v-if不停的销毁和创建,故v-show性能更好一点。

    用法

    v-if更灵活,举个例子

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

    相关文章

      网友评论

          本文标题:15、v-show与v-if用法和区别

          本文链接:https://www.haomeiwen.com/subject/ldymaqtx.html