控制一个模板标签是否在页面上显示,有以下两种方法:
- v-if:如果判断条件show为false的话,就删除dom元素,反之为true就添加dom元素:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>v-if</title>
<script src="../node_modules/vue/dist/vue.js"></script>
</head>
<body>
<div id="root">
<div v-if="show">hello world</div> <!--表示只有show是true的时候,这个div会显示出来-->
<button @click="handleClick">toggle</button>
</div>
<script>
new Vue({
el:"#root",
data:{
show:true
},
methods: {
handleClick: function () {
this.show = !this.show
}
}
})
</script>
</body>
</html>
- v-show也能实现相同的效果,但是原理确实大相径庭,show为false的时候,div元素依然存在,而是改变了它的display