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

news2024/12/27 8:07:19

作者: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乐事

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【论文投稿】国产游戏技术:迈向全球引领者的征途

【IEEE出版南方科技大学】第十一届电气工程与自动化国际会议&#xff08;IFEEA 2024)_艾思科蓝_学术一站式服务平台 更多学术会议论文投稿请看&#xff1a;https://ais.cn/u/nuyAF3 目录 国产游戏技术能否引领全球&#xff1f; 一、国产游戏技术的崛起之路 1.1 初期探索与积…

React的ts文件中通过createElement拼接一段内容出来

比如接口返回一个值 const values [23.00, 40.00/kg];想做到如下效果&#xff0c; 如果单纯的用render渲染会很简单&#xff0c; 但是在ts文件中处理&#xff0c;所以采用了createElement拼接 代码如下&#xff1a; format: (values: string[]) > {if (!values || !val…

江协科技最新OLED保姆级移植hal库

江协科技最新OLED移植到hal库保姆级步骤 源码工程存档 工程和源码下载(密码 1i8y) 原因 江协科技的开源OLED封装的非常完美, 可以满足我们日常的大部分开发, 如果可以用在hal库 ,将是如虎添翼, 为我们开发调试又增加一个新的瑞士军刀, 所以我们接下来手把手的去官网移植源码…

HarmonyOS:使用Emitter进行线程间通信

Emitter主要提供线程间发送和处理事件的能力&#xff0c;包括对持续订阅事件或单次订阅事件的处理、取消订阅事件、发送事件到事件队列等。 一、Emitter的开发步骤如下&#xff1a; 订阅事件 import { emitter } from kit.BasicServicesKit; import { promptAction } from kit.…

Wi-Fi 进化论:从过去到未来(6/10)

Wi-Fi&#xff08;发音&#xff1a; /ˈwaɪfaɪ/&#xff09;&#xff0c;在中文里又称作“移动热点”&#xff0c;是Wi-Fi联盟制造商的商标作为产品的品牌认证&#xff0c;是基于IEEE 802.11标准的无线局域网通信技术 [6]。基于两套系统的密切相关&#xff0c;也常有人把Wi-F…

【C++初阶】第5课—动态内存管理

文章目录 1. 内存分布2. C语言动态内存管理3. C内存管理方式3.1 new/delete操作内置类型3.2 new和delete操作自定义类型 4. operator new和operator delete函数5. new和delete的实现原理6. malloc/free和new/delete的区别7. 定位new表达式(了解即可) 1. 内存分布 先来做一个关于…

学习threejs,设置envMap环境贴图创建反光效果

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.CubeTextureLoader 立…

Matlab Simulink HDL Coder FPGA开发初体验—计数器

目录 一、Simulink设计及仿真二、Verilog HDL代码转换1、参数配置2、HDL代码生成 三、ModelSim仿真分析1、使用自己编写的Testbench文件进行仿真2、使用HDL Coder生成的Testbench文件进行仿真 前言 Simulink HDL Coder‌是一款将Simulink和Stateflow模型转化为可综合的Verilog和…

【C语言】扫雷游戏(一)

我们先设计一个简单的9*9棋盘并有10个雷的扫雷游戏。 1&#xff0c;可以用数组存放&#xff0c;如果有雷就用1表示&#xff0c;没雷就用0表示。 2&#xff0c;排查(2,5)这个坐标时&#xff0c;我们访问周围的⼀圈8个位置黄色统计周围雷的个数是1。排查(8,6)这个坐标时&#xf…

实现点名神器的pyqt6实现

利用python gui创建点名神器&#xff0c;包含加分、导出加分记录、清除加分记录。 点名页面 首先导入学生信息 导入成功 开始点名 点击停止 点过之后&#xff0c;点击加分 加完分 查看加分记录 可以直接进入导出记录和清除历史。 此文到此结束&#xff0c;想要源码的请私聊我&a…

【UE5 C++】判断两点连线是否穿过球体

目录 前言 原理 代码 测试 结果 前言 通过数学原理判断空间中任意两点的连线是否穿过球体&#xff0c;再通过射线检测检验算法的正确性。 原理 &#xff08;1&#xff09;设球体球心的坐标为 &#xff0c;半径为r&#xff1b; &#xff08;2&#xff09;设线段中A点的坐…

【AI】数据,算力,算法和应用(3)

三、算法 算法这个词&#xff0c;我们都不陌生。 从接触计算机&#xff0c;就知道有“算法”这样一个神秘的名词存在。象征着专业、权威、神秘、高难等等。 算法是一组有序的解决问题的规则和指令&#xff0c;用于解决特定问题的一系列步骤。算法可以被看作是解决问题的方法…

计算机的错误计算(一百七十一)

摘要 探讨 MATLAB 中秦九韶&#xff08;Horner&#xff09;多项式的错误计算。 例1. 用秦九韶&#xff08;Horner&#xff09;算法计算&#xff08;一百零七&#xff09;例1中多项式 直接贴图吧&#xff1a; 这样&#xff0c;MATLAB 给出的仍然是错误结果&#xff0c;因为准…

Ubuntu20.04运行R-VIO2

目录 1.环境配置2.构建项目3. 运行 VIO 模式4.结果图 1.环境配置 CMakeLists.txt中 C 使用 14、opencv使用4 2.构建项目 克隆代码库&#xff1a; 在终端中执行以下命令克隆项目&#xff1a;git clone https://github.com/rpng/R-VIO2.git编译项目&#xff1a; 使用 catkin_m…

【Maven系列】深入解析 Maven 常用命令

前言 在当今的软件开发过程中&#xff0c;项目管理是至关重要的一环。项目管理包括了项目构建、依赖管理以及发布部署等诸多方面。而在Java生态系统中&#xff0c;Maven已经成为了最受欢迎的项目管理工具之一。Maven 是一套用于构建、依赖管理和项目管理的工具&#xff0c;主要…

深度学习的python基础(1)

一.tensor创建 1.张量的定义 张量在形式上就是多维数组&#xff0c;例如标量就是0维张量&#xff0c;向量就是一维张量&#xff0c;矩阵就是二维张量&#xff0c;而三维张量就可以想象RGB图片&#xff0c;每个channel是一个二维的矩阵&#xff0c;共有三个channel&#xff0…

【Python爬虫实战】轻量级爬虫利器:DrissionPage之SessionPage与WebPage模块详解

&#x1f308;个人主页&#xff1a;易辰君-CSDN博客 &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html ​ 目录 前言 一、SessionPage &#xff08;一&#xff09;SessionPage 模块的基本功能 &#xff08;二&#xff09;基本使…

Linux——自定义简单shell

shell 自定义shell目标普通命令和内建命令&#xff08;补充&#xff09; shell实现实现原理实现代码 自定义shell 目标 能处理普通命令能处理内建命令要能帮助我们理解内建命令/本地变量/环境变量这些概念理解shell的运行 普通命令和内建命令&#xff08;补充&#xff09; …

Vue进阶之单组件开发与组件通信

书接上篇&#xff0c;我们了解了如何快速创建一个脚手架&#xff0c;现在我们来学习如何基于vite创建属于自己的脚手架。在创建一个新的组件时&#xff0c;要在新建文件夹中打开终端创建一个基本的脚手架&#xff0c;可在脚手架中原有的文件中修改或在相应路径重新创建&#xf…

Webman中实现定时任务

文章目录 Webman中实现定时任务一、引言二、安装与配置1、安装Crontab组件2、创建进程文件3、配置进程文件随Webman启动4、重启Webman5、Cron表达式&#xff08;补充&#xff09;例子 三、使用示例四、总结 Webman中实现定时任务 一、引言 在现代的后端开发中&#xff0c;定时…