v-if 与v-show
2020-03-02 12:43 在思考中成长 阅读(215) 评论(0) 收藏 举报在vue里面很多人都用的最常用的 v-if 与v-show
先讲讲v-show
v-show与v-if的用法基本一致,只不过v-show是改变元素的css属性display。当v-show表达式的值为false是,元素会隐藏,查看DOM结构看到元素上加载了内联样式display:none;
所以说元素是存在于DOM 结构上的
<h2>v-show 改变css display</h2>
<div id="app">
<p v-show="show">show = true</p>
</div>
<script type="text/javascript">
var app = new Vue({
el:'#app',
data:{
show:false
}
})
</script>
P元素只被隐藏,但dom已经渲染
v-if
v-if是真正的条件渲染,它会根据表达式适当地销毁或重建元素及绑定的事件或子组件。若表达式初始值为false,则一开始元素/组件并不会渲染,只有当条件第一次变为真时才开始编译。
总结
v-show只是简单的css属性切换,无论条件真与否,都会被编译。相比之下,v-if更适合条件不经常改变的场景,因为它切换开销相对较大,而v-show适用于频繁切换条件。
浙公网安备 33010602011771号