条件渲染
1、v-if
(1)用法
v-if = "表达式"
v-else-if = "表达式"
v-else = "表达式"
(2)适用于:切换频率较低的场景
(3)特点:不展示的DOM元素直接被移除
(4)注意v-if可以和:v-else-if、v-else一起使用,但要求结构不能被“打断”
2、v-show
(1)用法
v-show = "表达式"
(2)适用于:切换频率较高的场景
(3)特点:不展示DOM元素未被移除,仅仅是使用样式隐藏了
3、备注:使用v-if时,元素可能无法获取到,而使用v-show一定可以获取到。
案例:(注意v-if可以和template配和使用,而且template不影响结构)
<body>
<!--准备好一个容器-->
<div id="root">
<!--使用v-show做条件渲染,如果隐藏还能看到结构-->
<h2 v-show="a">欢迎来到{{name}}</h2>
<br />
<!--使用v-if做条件渲染,如果隐藏不能看到结构-->
<h2 v-if="a">欢迎来到{{name}}</h2>
<br />
<button @click="n++">点我n+1</button>
<!--v-if与template的配合使用-->
<template v-if="n === 1">
<h2>Hello</h2>
<h2>Hi</h2>
<h2>hahaha</h2>
</template>
<!--如果使用div不使用template会在一开始n 不等于时就出现。-->
<!-- <div v-if="n === 1">
<h2>Hello</h2>
<h2>Hi</h2>
<h2>hahaha</h2>
</div> -->
</div>
</body>
<script type="text/javascript">
const vm = new Vue({
el:'#root',
data:{
name:"尚硅谷",
a:true,
n:0,
},
})
</script>