Vue 条件渲染
Vue 条件渲染:v-show、v-if、v-else、v-else-if
v-show
写法:v-show="表达式"
特点:不展示的 DOM 元素未被移除,仅仅是使用样式隐藏掉
适用于:切换频率较高的场景
实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>条件渲染</title>
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="root">
<h2 v-show="false">{{msg}}</h2>
</div>
</body>
<script type="text/javascript">
new Vue({
el: '#root',
data: {
msg: '你好',
}
})
</script>
</html>
v-if
写法:
v-if="表达式"
v-else="表达式"
v-else-if="表达式"
特点:不展示的 DOM 元素直接被移除
适用于:切换频率较低的场景
注意:v-if 可以和 v-else、v-else-if 一起使用,但结构不能被打断
实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>条件渲染</title>
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="root">
<h2 v-if="false">{{msg}}</h2>
</div>
</body>
<script type="text/javascript">
new Vue({
el: '#root',
data: {
msg: '你好',
}
})
</script>
</html>
v-else 和 v-else-if
实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>条件渲染</title>
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="root">
<!-- <h2 v-show="false">{{msg}}</h2>-->
<!-- <h2 v-if="false">{{msg}}</h2>-->
<h2>n = {{n}}</h2>
<button @click="n++">n + 1</button>
<h2 v-if="n===1">壹</h2>
<h2 v-else-if="n===2">贰</h2>
<h2 v-else-if="n===3">叁</h2>
<h2 v-else>无</h2>
</div>
</body>
<script type="text/javascript">
new Vue({
el: '#root',
data: {
msg: '你好',
n: 0
}
})
</script>
</html>
template 和 v-if
template 不会破坏 v-if 结构
实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>条件渲染</title>
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="root">
<h2>n = {{n}}</h2>
<button @click="n++">n + 1</button>
<template v-if="n===1">
<h2>张三</h2>
<h2>李四</h2>
<h2>王五</h2>
</template>
</div>
</body>
<script type="text/javascript">
new Vue({
el: '#root',
data: {
msg: '你好',
n: 0
}
})
</script>
</html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!