当前位置: 首页 > news >正文

vue3 遍历 map 用法

在 Vue 3 中,你可以通过多种方式遍历一个 Map 对象。Map 对象保存键值对,并且能够记住键的原始插入顺序。在 Vue 3 中,你可以使用 v-for 指令来遍历 Map 对象。

示例 1: 直接遍历 Map

如果你想要直接访问每个键值对,你可以这样遍历:

<template><div><div v-for="[key, value] of mapData" :key="key">{{ key }}: {{ value }}</div></div>
</template><script setup>
import { ref } from 'vue';const mapData = ref(new Map([['key1', 'value1'],['key2', 'value2'],['key3', 'value3']
]));
</script>

示例 2: 使用计算属性转换 Map 为数组

如果你想有更多的灵活性或者在遍历前对 Map 进行处理,你可以先将 Map 转换为数组,然后再进行遍历:

<template><div><div v-for="item in mapAsArray" :key="item.key">{{ item.key }}: {{ item.value }}</div></div>
</template><script setup>
import { ref, computed } from 'vue';const mapData = ref(new Map([['key1', 'value1'],['key2', 'value2'],['key3', 'value3']
]));const mapAsArray = computed(() => {return Array.from(mapData.value, ([key, value]) => ({ key, value }));
});
</script>

示例 3: 使用方法遍历 Map(不推荐直接在模板中)

虽然在模板中直接使用 v-for 来遍历 Map 是最直观的方式,但在某些情况下,你可能想在方法中处理 Map 数据:

<template><div><div v-for="item in getMapData" :key="item.key">{{ item.key }}: {{ item.value }}</div></div>
</template><script setup>
import { ref } from 'vue';const mapData = ref(new Map([['key1', 'value1'],['key2', 'value2'],['key3', 'value3']
]));function getMapData() {return Array.from(mapData.value, ([key, value]) => ({ key, value }));
}
</script>

在 Vue 3 中,你可以通过多种方式遍历 Map 对象。直接在模板中使用 v-for 是最简单和直接的方法。如果你需要在遍历前对数据进行处理或转换,可以考虑使用计算属性或在方法中处理数据。选择哪种方式取决于你的具体需求和偏好。

http://www.dtcms.com/a/321400.html

相关文章:

  • 密码学安全模型(Security Model):用形式化框架定义“安全“
  • Microsoft Dynamics AX 性能优化解决方案
  • 网络资源模板--基于Android Studio 实现的麻雀笔记App
  • CSS:BFC
  • 五种IO模型 阻塞IO 多路转接之select 多路转接之poll
  • 灰狼算法+四模型对比!GWO-CNN-LSTM-Attention系列四模型多变量时序预测
  • VIOO IQOO7手机 解锁BL ROOT教程
  • 光猫、路由器和交换机
  • 如何使用 pg_rman 进行 PostgreSQL 的备份与恢复
  • 解决 vscode 编辑 markdown 文件时退格键/backspace 删除卡顿问题
  • 【普中STM32精灵开发攻略】--第 14 章 动态数码管实验
  • PyQt 中 pyqtSignal 的使用
  • Orangepi5-RK3588安装ffmpeg硬编码版本
  • UE4/UE5 Android 超大(视频)文件打包/防拷贝方案
  • 【07】OpenCV C++实战篇——鼠标在图片上绘制矩形,计算矩形区域内灰度值的累加值显示在图片上,支持连续多次框选,快速计算结果,快速刷新画面不卡顿
  • Atto Round 1 (Codeforces Round 1041, Div. 1 + Div. 2) A-C
  • 【身心健康】能量管理——为你的情绪和身体注入积极力量
  • LVS高可靠
  • [激光原理与应用-184]:光学器件 - 光学器件中晶体的用途、分类、特性及示例
  • CSS--后端也有自己的CSS要学
  • 化工厂安全升级:分布式光纤传感的 “实时监测 + 精准预警” 方案
  • 【mongoose】E11000 duplicate key error collection: test.counters
  • [hot100]和为K的子数组-Python3
  • AI入门学习--RAG是什么?
  • TyDi QA:面向语言类型多样性的信息检索问答基准
  • Selenium + Python + Pytest + Yaml + POM
  • Java 大视界 -- 基于 Java 的大数据分布式计算在气象灾害数值模拟与预警中的应用(388)
  • 机器视觉的笔记本辅料贴合应用
  • camera人脸识别问题之二:【FFD】太阳逆光场景,人像模式后置打开美颜和滤镜,关闭heif拍摄格式对着人脸拍照,成像口红出现位置错误
  • 嵌入式系统GUI