1、v-if和v-show都是用來實現條件判斷的指令。
2、先看代碼
<body>
<div id="app">
<button @click="reverse()">click</button>
<p v-if="flag">這是v-if指令控制</p>
<p v-show="flag">這是v-show指令控制</p>
</div>
<script type="text/javascript">
var vm = new Vue({
el:"#app",
data:{
flag:true
},
methods:{
reverse(){
this.flag = !this.flag;
}
}
});
</script>
</body>
通過點擊按鈕來控制v-if和v-show對應元素的顯示和隱藏。從頁面展示現象看,這兩個指令的作用是一樣的,我們來看下瀏覽器控制台元素的具體展示情況。

當頁面元素隱藏或者顯示的時候,v-if每次都會重新刪除或創建元素,v-show指令則通過控制樣式屬性display的值來實現同樣的效果。
總結:
1、v-if由於每次都會重新刪除或創建元素,所以有較高的切換性能消耗。
2、v-show通過控制樣式屬性display的值來顯示隱藏元素,但是即使你不需要顯示,該元素還是被頁面渲染了,所以其有較高的初始渲染消耗。
3、具體使用哪一個還是要根據實際的業務場景來判斷使用。
每天進步一點點!
