条件渲染
<!--使用v-show做条件渲染-->
<h2 v-show="false">欢迎来到{{name}}</h2> --><!-- <h2 v-show="1 === 1">欢迎来到{{name}}/h2>
<!--使用v-if做条件渲染-->
<h2 v-if="false">欢迎来到{{name}}
</h2> --><!-- <h2 v-if="1 === 1">欢迎来到{{name}}/h2>
<!-- v-else和v-else-if -->
<div v-if="n === 1">Angular</div>
<div v-else-if="n === 2">React</div>
<div v-else-if="n === 3">Vue</div>
<div v-else>哈哈</div>
注意点:我们的v-else后面不能加条件,因为加了条件也没用。
整体v-if
<div v-if="n === 1">
<h2>你好</h2>
<h2>北京</h2>
</div>
这样做可以整体的显示你好和北京,但是会出现一个问题就是我们的最外层的div会导致我们的结构被破坏,如何解决呢??
使用template
<template v-if="n === 1">
<h2>你好</h2>
<h2>北京</h2>
</template>
这样就能解决结构被改变的问题
但是template只能配合v-if使用,而不能配合v-show一起使用!!!!
总结:
条件渲染:
1.v-if
写法:
(1).v-if=“表达式”
(2).v-else-if=“表达式”
(3).v-else="表达式"适用于:切换频率较低的场景。
特点:不展示的DOM元素直接被移除。
注意:v-if可以和:v-else-if、v-else一起使用,但要求结构不能被"打断”。
2.v-show
写法: v-show=“表达式”
适用于:切换频率较高的场景。
特点:不展示的DOM元素未被移除,仅仅是使用样式隐藏掉
3.备注:使用v-if的时,元素可能无法获取到,而使用v-show一定可以获取到。