一个项目学习Vue3---if、else、show、for的使用

观察下面代码学习这部分内容

<!--条件和列表渲染-->
<template>
  <button @click="stateChang">状态切换{{ flag }}</button>
  <span v-if="flag">显示这个</span>
  <span v-else-if="!flag">显示那个Else</span>
  <span v-else>显示那个</span>
  <span v-show="flag">也显示了这个</span>
  <li v-for="item in items">
      {{ item.message }}
  </li>

</template>
<script lang="ts" setup>
import { computed, nextTick } from 'vue'
import { ref } from 'vue'
import { reactive } from 'vue'

const flag = ref(true)

function stateChang() {
  flag.value = !flag.value
}

const items = ref([{ message: 'Foo' }, { message: 'Bar' }])
</script>
<style scoped>
</style>

在Vue 3中,条件渲染和列表渲染是构建动态和响应式用户界面的关键技术。通过Vue的指令和响应式数据,我们可以轻松地根据状态改变显示不同的内容,以及迭代展示列表数据。

条件渲染:v-if、v-else-if、v-else

条件渲染允许我们基于表达式的值来切换元素的显示或隐藏。Vue 3提供了几个指令来实现条件渲染:

  • v-if:根据表达式的真假来决定是否渲染元素。
  • v-else-if:在v-if之后使用,用于添加额外的条件。
  • v-else:用于表示前面的条件均不满足时应渲染的内容。
<template>
  <button @click="stateChange">状态切换 {{ flag }}</button>
  <div v-if="flag">
    显示这个
  </div>
  <div v-else-if="!flag">
    显示那个Else
  </div>
  <div v-else>
    显示那个
  </div>
</template>

<script setup>
import { ref } from 'vue'

const flag = ref(true)

function stateChange() {
  flag.value = !flag.value
}
</script>

在这个例子中,点击按钮会触发stateChange方法,从而改变flag的值,决定显示不同的<div>元素。

条件显示:v-show

v-if不同的是,v-show是基于表达式的真假来切换元素的 CSS display 属性。如果需要频繁切换元素的可见性,v-show会比v-if效率更高。

<template>
  <button @click="toggleVisibility">切换可见性</button>
  <div v-show="isVisible">
    也显示了这个
  </div>
</template>

<script setup>
import { ref } from 'vue'

const isVisible = ref(true)

function toggleVisibility() {
  isVisible.value = !isVisible.value
}
</script>

列表渲染:v-for

Vue 3中的列表渲染通过v-for指令实现,用于渲染数组或对象的每个元素。

<template>
  <ul>
    <li v-for="item in items" :key="item.id">
      {{ item.message }}
    </li>
  </ul>
</template>

<script setup>
import { ref } from 'vue'

const items = ref([
  { id: 1, message: 'Foo' },
  { id: 2, message: 'Bar' }
])
</script>

在这个示例中,v-for循环遍历items数组,并为每个数组项渲染一个<li>元素,其中:key指定了每个项的唯一标识符。

总结

Vue 3的条件渲染和列表渲染使得在页面中动态展示内容变得十分便捷。利用v-ifv-else-ifv-else可以根据状态选择性地显示内容,而v-show则用于频繁切换可见性。同时,通过v-for能够轻松地迭代数组或对象,动态生成列表元素。

这些功能的结合使用,为开发者提供了强大的工具,帮助构建出动态和交互丰富的Vue 3应用程序。

      关注公众号:资小库,问题快速答疑解惑

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会写爬虫的程序员B

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值