Vue.js条件渲染
介绍
在 Vue.js 中,条件渲染是一种根据特定条件动态显示或隐藏 DOM 元素的技术。Vue 提供了多种指令来实现条件渲染,包括 v-if
、v-else
、v-else-if
和 v-show
。这些指令可以帮助你根据应用程序的状态来控制页面的显示内容。
v-if
指令
v-if
是 Vue.js 中最常用的条件渲染指令。它根据表达式的值来决定是否渲染某个元素。如果表达式的值为 true
,元素将被渲染;如果为 false
,元素将不会被渲染。
基本用法
<template>
<div>
<p v-if="isVisible">这是一个可见的段落。</p>
</div>
</template>
<script>
export default {
data() {
return {
isVisible: true
};
}
};
</script>
在上面的例子中,isVisible
的值为 true
,因此 <p>
元素会被渲染到页面上。如果将 isVisible
的值改为 false
,<p>
元素将不会被渲染。
v-else
和 v-else-if
v-else
和 v-else-if
可以与 v-if
结合使用,用于处理多个条件分支。
<template>
<div>
<p v-if="score >= 90">优秀</p>
<p v-else-if="score >= 60">及格</p>
<p v-else>不及格</p>
</div>
</template>
<script>
export default {
data() {
return {
score: 85
};
}
};
</script>
在这个例子中,根据 score
的值,Vue 会渲染不同的 <p>
元素。如果 score
大于或等于 90,显示“优秀”;如果 score
大于或等于 60,显示“及格”;否则显示“不及格”。
备注
v-else
和 v-else-if
必须紧跟在 v-if
或 v-else-if
元素之后,否则它们将不会生效。
v-show
指令
v-show
是另一种条件渲染指令,它与 v-if
的主要区别在于 v-show
不会从 DOM 中移除元素,而是通过 CSS 的 display
属性来控制元素的显示与隐藏。
基本用法
<template>
<div>
<p v-show="isVisible">这是一个可见的段落。</p>
</div>
</template>
<script>
export default {
data() {
return {
isVisible: true
};
}
};
</script>
在这个例子中,isVisible
的值为 true
,因此 <p>
元素会显示在页面上。如果将 isVisible
的值改为 false
,<p>
元素仍然存在于 DOM 中,但会被隐藏。
提示
v-show
适用于需要频繁切换显示状态的元素,因为它不会重新渲染元素,只是简单地切换 CSS 的 display
属性。