v-show:判断条件语句和v-if基本一致
其区别为:
v-if 在首次渲染的时候,如果条件为假,什么也不操作,页面当作没有这些元素。当条件为真的时候,开始局部编译,动态的向DOM元素里面添加元素。当条件从真变为假的时候,开始局部编译,卸载这些元素,也就是删除。
v-show 不管条件是真还是假,第一次渲染的时候都会编译出来,也就是标签都会添加到DOM中。之后切换的时候,通过display: none;样式来显示隐藏元素。可以说只是改变css的样式,几乎不会影响什么性能。
说简单点就是v-if是内容完全消失,v-show是内容隐藏
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>v-if与v-show的区别</title>
</head>
<body>
<div id="app">
<div v-if="isShow">isshow是true的时候显示</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
<script>
const app = new Vue({
el: "#app",
data: {
isShow:true //这里为true
},
})
</script>
</body>
</html>
v-if中的isShow如果存在,那么他会显示
如果为false它就不会存在
isShow:false
而v-show并不是这样
当为true时:
当为false时 ,实际他还是存在,只不过是隐藏了起来