共同点
都是用来控制显示和隐藏的命令
不同点
v-show是通过css中的display控制显示和隐藏,当display值为none时,隐藏,只编译一次
v-if是动态的,通过向DOM树添加或删除DOM元素控制显示和隐藏,是个不停的销毁和创建的过程,比较消耗性能
示例代码块
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id = "app">
<input type="button" value="切换显示" @click = "Show">
<p v-show = "isShow" >KDA - v-show修饰</p>
<p v-if = "isShow">Pop Star</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
var app = new Vue({
el:"#app",
data:{
isShow:false
},
methods:{
Show:function(){
this.isShow = !this.isShow
}
}
})
</script>
</body>
</html>
执行效果