直接上代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="../../js/vue.js"></script>
<title>v-show</title>
</head>
<body>
<div id="app">
<h2 v-if="flag">{{message}}</h2>
<h2 v-show="flag">{{message}}</h2>
</div>
<script type="text/javascript">
const app = new Vue({
el: '#app',
data() {
return {
message: "你好",
flag: false,
};
},
computed: {
},
methods: {
},
});
</script>
<style scoped>
</style>
</body>
</html>
可以看到,当使用v-if的条件不满足时,包含v-if指令的元素不会存在于dom中,而使用v-show指令的元素的属性会多出一个行内样式:display:none。
当需要在现实与隐藏之间频繁切换时,使用v-show;当只有有限次数的切换时,使用v-if。(其实还是根据实际情况来-.-)。