v-show 隱藏 是display:'none'
v-if 隱藏是 visibility:hidden;
區(qū)別是
display:none和visibility:hidden的區(qū)別是:
1.display:none是徹底消失,不在文檔流中占位,瀏覽器也不會解析該元素;visibility:hidden是視覺上消失了,可以理解為透明度為0的效果,在文檔流中占位,瀏覽器會解析該元素;
2.使用visibility:hidden比display:none性能上要好,display:none切換顯示時visibility,頁面產(chǎn)生回流(當頁面中的一部分元素需要改變規(guī)模尺寸、布局、顯示隱藏等,頁面重新構(gòu)建,此時就是回流。所有頁面第一次加載時需要產(chǎn)生一次回流),而visibility切換是否顯示時則不會引起回流。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id='itany'>
<p>{{msg}}</p>
<h1 v-show="see">{{msg}}</h1>
<h1 v-if="!see">{{msg}}</h1>
</div>
<script src="https://cdn.bootcss.com/vue/2.5.16/vue.min.js"></script>
<script>
new Vue({
el:'#itany',
data:{
msg:'hello vue',
see:true
}
})
</script>
</body>
</html>