Vue3条件语句学习笔记
在Vue3中,条件渲染是指根据表达式的真假来决定是否渲染一个元素。这可以通过Vue3提供的指令来实现。
v-if指令
v-if指令用于在满足条件时渲染一个元素。当条件为false时,该元素将从DOM中移除。
语法
htmlCopy Code<div v-if="condition">渲染的元素</div>
示例
htmlCopy Code<template>
<div>
<div v-if="isLoggedIn">欢迎访问我们的网站!</div>
</div>
</template>
<script>
export default {
data() {
return {
isLoggedIn: true
};
}
};
</script>
运行以上代码,当isLoggedIn为true时,页面上将显示“欢迎访问我们的网站!”;当isLoggedIn为false时,该元素将从DOM中移除。
v-else指令
v-else指令用于在v-if表达式为false时渲染一个元素。它必须紧随v-if或v-else-if指令之后,并且在同一兄弟元素中使用。
语法
htmlCopy Code<div v-if="condition">渲染的元素1</div>
<div v-else>渲染的元素2</div>
示例
htmlCopy Code<template>
<div>
<div v-if="isLoggedIn">欢迎访问我们的网站!</div>
<div v-else>请先登录以访问我们的网站。</div>
</div>
</template>
<script>
export default {
data() {
return {
isLoggedIn: false
};
}
};
</script>
运行以上代码,当isLoggedIn为true时,页面上将显示“欢迎访问我们的网站!”;当isLoggedIn为false时,页面上将显示“请先登录以访问我们的网站。”。
v-else-if指令
v-else-if指令用于在前面的v-if或v-else-if表达式为false并且当前表达式为true时渲染一个元素。它必须紧随上一条v-if或v-else-if指令之后,并且在同一兄弟元素中使用。
语法
htmlCopy Code<div v-if="condition1">渲染的元素1</div>
<div v-else-if="condition2">渲染的元素2</div>
<div v-else>渲染的元素3</div>
示例
htmlCopy Code<template>
<div>
<div v-if="isVIP">欢迎VIP会员来访问我们的网站!</div>
<div v-else-if="isLoggedIn">欢迎访问我们的网站!</div>
<div v-else>请先登录以访问我们的网站。</div>
</div>
</template>
<script>
export default {
data() {
return {
isVIP: true,
isLoggedIn: false
};
}
};
</script>
运行以上代码,当isVIP为true时,页面上将显示“欢迎VIP会员来访问我们的网站!”;当isVIP为false且isLoggedIn为true时,页面上将显示“欢迎访问我们的网站!”;当isVIP和isLoggedIn都为false时,页面上将显示“请先登录以访问我们的网站。”。
v-show指令
v-show指令与v-if指令类似,用于根据表达式的真假来控制一个元素的显示和隐藏。然而,与v-if指令不同的是,v-show指令不会在DOM中移除元素,而是使用CSS的display属性来控制元素的显示和隐藏。
语法
htmlCopy Code<div v-show="condition">渲染的元素</div>
示例
htmlCopy Code<template>
<div>
<div v-show="isLoggedIn">欢迎访问我们的网站!</div>
</div>
</template>
<script>
export default {
data() {
return {
isLoggedIn: true
};
}
};
</script>
运行以上代码,当isLoggedIn为true时,页面上将显示“欢迎访问我们的网站!”;当isLoggedIn为false时,该元素会隐藏但不会从DOM中移除。
总结
Vue3的条件渲染可以通过v-if、v-else、v-else-if和v-show指令来实现。这些指令可以根据表达式的真假来控制一个元素的显示和隐藏,从而实现动态渲染页面的效果。