「这是我参与2022首次更文挑战的第12天,活动详情查看:2022首次更文挑战」
一. Vue条件渲染
分享我的学习收获希望能够帮到大家
今天为大家分享关于Vue的条件渲染(v-if v-else v-else-if v-show) 下面我们来结合代码理解
<!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">
<title>条件渲染</title>
<script src="../Vue.js/vue.js"></script>
</head>
<body>
<div id="root">
<!-- 使用v-show做条件渲染 a=false时h1不显示-->
<h1 v-show="a===1">如果事与愿违,那一定另有安排--{{name}}</h1>
<h2>当前的n值是:{{n}}</h2>
<!-- 使用v-if做条件渲染 在使用时不允许被打断-->
<h2 v-if='n === 1'>现在我等于1</h2>
<h2 v-else-if='n === 2'>现在我等于2</h2>
<h2 v-else-if='n === 3'>现在我等于3</h2>
<!-- v-if v-else v-else-if 用法和if else else-if 用法一样 -->
<h2 v-else>我不等于1,2,3</h2>
<button @click='n++'>点我n+1</button>
<div>@</div>
<!-- template模板只能配合v-if使用 -->
<template v-if='a===1'>
<h1>你好</h1>
<h2>可期</h2>
</template>
</div>
<script>
const vm = new Vue({
el:'#root',
data:{
name:"某某",
a:1,
n:0
}
})
</script>
</body>
</html>
1.如果我们想要控制内容是否显示我们就可以使用v-show
v-show="a===1">如果事与愿违,那一定另有安排--{{name}}
例如此处 v-show后面的 “表达式” 当表达式值为false时则不显示内容,或不符合表达式的条件,注:仅仅是内容不显示
2.下面我们来设置一个按钮,来控制当条件符合要求时可以显示内容,使用v-if
<h2>当前的n值是:{{n}}</h2>
<h2 v-if='n === 1'>老大</h2>
<h2 v-if='n === 2'>老二</h2>
<h2 v-if='n === 3'>老三</h2>
<button @click='n++'>点我n+1</button>
这里我们点击按钮来使n的值增加,当n等于1时老大出现, 当n等于2时老二出现,当n等于3时老三出现
3.v-if v-else v-else-if 组合使用 在Vue中v-if v-else v-else-if 也可以组合使用,即原理和js中一样
<h2>当前的n值是:{{n}}</h2>
<h2 v-if='n === 1'>老大</h2>
<h2 v-else-if='n === 2'>老二</h2>
<h2 v-else-if='n === 3'>老三</h2>
<h2 v-else>我不等于1,2,3</h2>
<button @click='n++'>点我n+1</button>
同样当n的值分别等于1,2,3 时分别显示老大,老二,老三,当n的值都不等于1,2,3时则显示不等于1,2,3. 但是在此处需要注意的是使用v-if做条件渲染 在使用时不允许被打断
4.标签的使用 如果在代码中出现条件相同的语句,想要一次同时输出,那我们就可以使用