Vue.js 中 v-for 指令的三种常见用法详解及key、value、id的作用

作者:CSDN-PleaSure乐事

欢迎大家阅读我的博客 希望大家喜欢

使用环境:WebStorm

目录

遍历数组

介绍

代码

遍历对象数组

介绍

代码

遍历对象本身

介绍

代码

效果呈现

key、value、id的作用

1. value

2. key

3. id


在 Vue.js 中,v-for 可以用于根据数据源动态渲染列表或重复的元素。接下来是 v-for 的三种常见用途:遍历数组、对象数组以及对象本身。

遍历数组

介绍

v-for 可以用来遍历一个简单的数组,并为数组中的每个项生成相应的 DOM 元素。这是最常见的用法之一。我们可以访问当前项和它的索引,这在需要显示索引时非常有用。

代码

<template>
  <ul>
    <li v-for="(item, index) in arrays" :key="index">{{ item }}-{{ index }}</li>
  </ul>
</template>

<script>
export default {
  data() {
    return {
      arrays: ['java', 'c++', 'python'],
    };
  }
};
</script>

我们使用 v-for="(item, index) in arrays" 来遍历 arrays 数组。对于数组中的每一项,我们创建了一个 <li> 元素,并且同时显示了该项(item)及其对应的索引(index)。为了确保每个元素都有唯一的标识符,我们使用了 :key="index"。

遍历对象数组

介绍

当我们的数据源是一个包含多个对象的数组时,v-for 也可以用来遍历这些对象。这种情况下,我们通常会访问对象的属性,并可能需要生成更复杂的 HTML 结构。

代码

<template>
  <div v-for="name in arrays_2" :key="name.id">
    <span>{{ name.id }}-</span>
    <a :href="name.back">{{ name.name }}</a>
    <br>
  </div>
</template>

<script>
export default {
  data() {
    return {
      arrays_2: [
        { id: 1, name: "bilibili", back: "http://www.bilibili.com" },
        { id: 2, name: "csdn", back: "http://www.csdn.com" },
        { id: 3, name: "baidu", back: "http://www.baidu.com" }
      ],
    };
  }
};
</script>

每个对象都包含 id、name 和 back 属性。我们为每个对象生成了一个 <div> 容器,其中包含一个 <span> 显示 id 和一个带有链接的 <a> 标签。这里也使用了 :key="name.id" 来提供唯一性。

遍历对象本身

介绍

除了遍历数组外,v-for 也可以用来遍历一个普通的 JavaScript 对象。在这种情况下,我们可以访问对象的键名、值和索引。

代码

<template>
  <ul>
    <li v-for="(value, key, id) in info" :key="key">{{ key }}-{{ value }}-{{ id }}</li>
  </ul>
</template>

<script>
export default {
  data() {
    return {
      info: {
        sbName: 'YJH',
        sbAge: 20,
        sbSex: '男'
      },
    };
  }
};
</script>

这里的 v-for="(value, key, id) in info" 语句遍历了 info 对象。对于每个属性,我们获取了其值(value)、键名(key)以及索引(id),并把它们显示在一个 <li> 元素中。同样地,我们为每个元素设置了 :key="key" 以保证唯一性。

效果呈现

下面就是上述代码的最终效果,供大家浏览:

key、value、id的作用

1. value

  • 作用:表示当前项的值。
  • 用处:当你需要显示或操作对象中某个属性的具体内容时,会用到这个参数。

2. key

  • 作用:表示当前项的键名。
  • 用处:当需要引用对象中的特定属性名称时,或者当你要为每个生成的元素提供一个唯一的标识符时,key 就非常有用。在 Vue 中,推荐给每个通过 v-for 渲染的元素设置一个唯一的 :key 属性,以帮助 Vue 更高效地更新 DOM。

3. id

  • 作用:表示当前项在循环中的索引位置。
  • 用处:虽然在遍历对象时,id 主要用于获取当前项的位置信息,但在某些情况下,你可能想要根据位置做一些特殊处理,比如改变样式或添加条件逻辑等。

作者:CSDN-PleaSure乐事

希望我的博客对您有帮助,也希望在对您有帮助时您可以为我留下点赞收藏与关注,这对我真的很重要,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/925382.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言算法】蛇形方阵 暴力破解之(if函数)

文章目录 1. 问题描述2. 题目分析与代码设计3. 代码实现4. 运行效果 1. 问题描述 在n x n(n≤8)方阵里填入1&#xff0c;2&#xff0c;3&#xff0c;…&#xff0c;n x n&#xff0c;要求填成蛇形。 列如 n4 时方阵为&#xff1a; 2. 题目分析与代码设计 算法的步骤和分析&…

从覆盖到拼接:优化 onInput 事件的输入

在使用 ElSelect 组件的 onInput 事件时&#xff0c;由于每次输入都触发搜索&#xff0c;导致请求频繁且新搜索结果覆盖了旧结果&#xff0c;无法实现输入数据的累积搜索。我们希望的是&#xff0c;每次搜索能够将新的输入内容与之前的内容拼接显示&#xff0c;从而实现用户的诉…

Flink四大基石之CheckPoint

1、State Vs Checkpoint State:状态,是Flink中某一个Operator在某一个时刻的状态,如maxBy/sum,注意State存的是历史数据/状态,存在内存中。 Checkpoint:快照点, 是Flink中所有有状态的Operator在某一个时刻的State快照信息/存档信息。 一句话概括: Checkpoint就是State的快照…

如何给GitHub的开源项目贡献PR

&#x1f3af;导读&#xff1a;本文详细介绍了如何向开源项目“代码随想录”贡献自己的题解。首先&#xff0c;需要Fork原项目的仓库至个人GitHub账户&#xff0c;然后解决克隆仓库时可能遇到的SSH密钥问题。接着&#xff0c;按照标准流程对本地仓库进行代码或文档的修改&#…

不可分割的整体—系统思考的微妙法则

不可分割的整体——系统思考的微妙法则 作为企业领导者&#xff0c;我们经常需要做出决策&#xff0c;但有时候&#xff0c;我们会忽略一个事实&#xff1a;每个决策都不是孤立的&#xff0c;它背后都是一个复杂系统的一部分。 无论是市场动态、团队协作&#xff0c;还是产品…

layui-vue第三方库表格列事件怎么写

插槽写入列点击事件 <div class"le-table-box" ref"TableBoxRef" :style"{ height: ShowPage ? calc(100% - 60px) : 100% }"><lay-table row-double"dbRowClick" :columns"TableColumn" :data-source"Table…

第一个 C++ 程序 001

1. main 函数 同 c 语言的 main 函数 2. 字符和字符串 在C的 STL 中⼜引⼊了 string 来表⽰字符串&#xff0c;功能更加强⼤&#xff0c;C 语⾔不⽀持&#xff0c;后期会详细介绍。 其他的和 c 语言类似 3. 头文件 和 C 语言中的头文件一样&#xff0c;相当于一个工具箱 不过…

修改插槽样式,el-input 插槽 append 的样式

需缩少插槽 append 的 宽度 方法1、使用内联样式直接修改&#xff0c;指定 width 为 30px <el-input v-model"props.applyBasicInfo.outerApplyId" :disabled"props.operateCommandType input-modify"><template #append><el-button click…

Hot100 - 搜索二维矩阵II

Hot100 - 搜索二维矩阵II 最佳思路&#xff1a; 利用矩阵的特性&#xff0c;针对搜索操作可以从右上角或者左下角开始。通过判断当前位置的元素与目标值的关系&#xff0c;逐步缩小搜索范围&#xff0c;从而达到较高的效率。 从右上角开始&#xff1a;假设矩阵是升序排列的&a…

杂七杂八的网络安全知识

一、信息安全概述# 1.信息与信息安全# 信息与信息技术 信息奠基人&#xff1a;香农&#xff1a;信息是用来消除随机不确定性的东西 信息的定义&#xff1a;信息是有意义的数据&#xff0c;是一种要适当保护的资产。数据经过加工处理之后&#xff0c;就成为信息。而信息需要…

Vision Transformer(vit)的Embedding层结构

代码&#xff1a; class PatchEmbed(nn.Module):"""2D Image to Patch Embedding"""def __init__(self, img_size224, patch_size16, in_c3, embed_dim768, norm_layerNone):super().__init__()img_size (img_size, img_size) #图像尺寸默认22…

Spring Boot 实战:基于 Validation 注解实现分层数据校验与校验异常拦截器统一返回处理

1. 概述 本文介绍了在spring boot框架下&#xff0c;使用validation数据校验注解&#xff0c;针对不同请求链接的前端传参数据&#xff0c;进行分层视图对象的校验&#xff0c;并通过配置全局异常处理器捕获传参校验失败异常&#xff0c;自动返回校验出错的异常数据。 2. 依赖…

Linux查看网络基础命令

文章目录 Linux网络基础命令1. ifconfig 和 ip一、ifconfig命令二、ip命令 2. ss命令一、基本用法二、常用选项三、输出信息四、使用示例 3. sar 命令一、使用sar查看网络使用情况 4. ping 命令一、基本用法二、常用选项三、输出结果四、使用示例 Linux网络基础命令 1. ifconf…

Python酷库之旅-第三方库Pandas(245)

目录 一、用法精讲 1156、pandas.tseries.offsets.MonthEnd.is_month_start方法 1156-1、语法 1156-2、参数 1156-3、功能 1156-4、返回值 1156-5、说明 1156-6、用法 1156-6-1、数据准备 1156-6-2、代码示例 1156-6-3、结果输出 1157、pandas.tseries.offsets.Mon…

DAMODEL丹摩|Faster-Rcnn训练与部署实战

本文仅做测评体验&#xff0c;非广告。 文章目录 1. 丹摩介绍2. Faster-Rcnn介绍3. 准备3. 1 丹摩平台准备实例 3. 2 Faster-Rcnn4. 部署开始5. 训练5. 资源释放6. 结语 1. 丹摩介绍 详细介绍请看&#xff1a;丹摩平台介绍。 丹摩智算平台&#xff08;DAMODEL&#xff09;是…

NLP信息抽取大总结:三大任务(带Prompt模板)

信息抽取大总结 1.NLP的信息抽取的本质&#xff1f;2.信息抽取三大任务&#xff1f;3.开放域VS限定域4.信息抽取三大范式&#xff1f;范式一&#xff1a;基于自定义规则抽取&#xff08;2018年前&#xff09;范式二&#xff1a;基于Bert下游任务建模抽取&#xff08;2018年后&a…

LLM*:路径规划的大型语言模型增强增量启发式搜索

路径规划是机器人技术和自主导航中的一个基本科学问题&#xff0c;需要从起点到目的地推导出有效的路线&#xff0c;同时避开障碍物。A* 及其变体等传统算法能够确保路径有效性&#xff0c;但随着状态空间的增长&#xff0c;计算和内存效率会严重降低。相反&#xff0c;大型语言…

C#基础题总结

16.一张单据上有一个5位数的号码为6**42&#xff0c;其中百位数和千位数已模糊不清&#xff0c;但知道该数能被 57 和 67 除尽。设计一个算法&#xff0c;找出该单据所有可能的号码。 17.编程序求2&#xff5e;10000以内的完全数。一个数的因子&#xff08;除了这个数本身&…

Android数据存储——文件存储、SharedPreferences、SQLite、Litepal

数据存储全方案——详解持久化技术 Android系统中主要提供了3中方式用于简单地实现数据持久化功能&#xff0c;即文件存储、SharedPreference存储以及数据库存储。除了这三种方式外&#xff0c;还可以将数据保存在手机的SD卡中&#xff0c;不给使用文件、SharedPreference或者…

【动手学电机驱动】STM32-FOC(8)MCSDK Profiler 电机参数辨识

STM32-FOC&#xff08;1&#xff09;STM32 电机控制的软件开发环境 STM32-FOC&#xff08;2&#xff09;STM32 导入和创建项目 STM32-FOC&#xff08;3&#xff09;STM32 三路互补 PWM 输出 STM32-FOC&#xff08;4&#xff09;IHM03 电机控制套件介绍 STM32-FOC&#xff08;5&…