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,它不会在页面中显示。