21 Vue3中使用v-for遍历对象数组

概述

使用v-for遍历对象数组在真实的开发中也属于非常常见的用法,需要重点掌握。

因为目前流行的是前后端分离开发,在前后端分离开发中,最常需要处理的就是对象数组类型的数据了。

比如,将员工信息渲染到表格中。

这节课我们就来使用v-for渲染对象数组的方式实现一下这个案例。

基本用法

我们创建src/components/Demo20.vue,在这个组件中,我们要:

  • 1:定义employees,表示员工对象数组,其中每个元素有id、name、age、gender、salary字段。
  • 2:创建一个表格
  • 3:在表格中使用v-for遍历employees并渲染
  • 4:稍微用CSS样式美化一下表格

代码如下:

<script setup>
const employees = [
  {
    id: 1,
    name: "张三",
    age: 23,
    gender: "男",
    salary: 30000,
  },
  {
    id: 2,
    name: "李四",
    age: 23,
    gender: "男",
    salary: 28000,
  },
  {
    id: 3,
    name: "王五",
    age: 23,
    gender: "男",
    salary: 18000,
  },
]
</script>
<template>
  <div>
    <table>
      <thead>
      <tr>
        <th>#</th>
        <th>姓名</th>
        <th>性别</th>
        <th>年龄</th>
        <th>薪资</th>
      </tr>
      </thead>
      <tbody>
      <tr v-for="(employee, index) in employees" :key="employee.id">
        <td>{{ index + 1 }}</td>
        <td>{{ employee.name }}</td>
        <td>{{ employee.gender }}</td>
        <td>{{ employee.age }}</td>
        <td>{{ employee.salary }}</td>
      </tr>
      </tbody>
    </table>
  </div>
</template>
<style>
table {
  width: 500px;
  text-align: center;
  border-collapse: collapse;
}

tr, td, th {
  border: 1px solid #ccc;
}

th, td {
  padding: 5px;
}
</style>

接着,我们修改src/App.vue,引入Demo20.vue并进行渲染:

<script setup>
import Demo from "./components/Demo20.vue"
</script>
<template>
  <h1>欢迎跟着Python私教一起学习Vue3入门课程</h1>
  <hr>
  <Demo/>
</template>

然后,我们浏览器访问:http://localhost:5173/

在这里插入图片描述

完整代码

package.json

{
  "name": "hello",
  "private": true,
  "version": "0.1.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "vite build"
  },
  "dependencies": {
    "vue": "^3.3.8"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^4.5.0",
    "vite": "^5.0.0"
  }
}

vite.config.js

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [vue()],
})

index.html

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vite + Vue</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.js"></script>
  </body>
</html>

src/main.js

import { createApp } from 'vue'
import App from './App.vue'

createApp(App).mount('#app')

src/App.vue

<script setup>
import Demo from "./components/Demo20.vue"
</script>
<template>
  <h1>欢迎跟着Python私教一起学习Vue3入门课程</h1>
  <hr>
  <Demo/>
</template>

src/components/Demo20.vue

<script setup>
const employees = [
  {
    id: 1,
    name: "张三",
    age: 23,
    gender: "男",
    salary: 30000,
  },
  {
    id: 2,
    name: "李四",
    age: 23,
    gender: "男",
    salary: 28000,
  },
  {
    id: 3,
    name: "王五",
    age: 23,
    gender: "男",
    salary: 18000,
  },
]
</script>
<template>
  <div>
    <table>
      <thead>
      <tr>
        <th>#</th>
        <th>姓名</th>
        <th>性别</th>
        <th>年龄</th>
        <th>薪资</th>
      </tr>
      </thead>
      <tbody>
      <tr v-for="(employee, index) in employees" :key="employee.id">
        <td>{{ index + 1 }}</td>
        <td>{{ employee.name }}</td>
        <td>{{ employee.gender }}</td>
        <td>{{ employee.age }}</td>
        <td>{{ employee.salary }}</td>
      </tr>
      </tbody>
    </table>
  </div>
</template>
<style>
table {
  width: 500px;
  text-align: center;
  border-collapse: collapse;
}

tr, td, th {
  border: 1px solid #ccc;
}

th, td {
  padding: 5px;
}
</style>

启动方式

yarn
yarn dev

浏览器访问:http://localhost:5173/

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

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

相关文章

python调取一欧易API并写一个比特币均线交易策略

比特币均线交易策略是一种基于比特币价格的移动均线的交易策略。它通过计算不同时间段的移动均线来确定买入和卖出点。 具体步骤如下&#xff1a; 确定要使用的均线。常用的均线包括5日、10日、20日、50日和200日均线。较短的均线可以更快地反应价格变动&#xff0c;而较长的均…

[CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]

文章目录 前言小结 原文地址&#xff1a;https://blog.csdn.net/qq_45752541/article/details/132854115 前言 mesh 和点是最常见的3D场景表示&#xff0c;因为它们是显式的&#xff0c;非常适合于快速的基于GPU/CUDA的栅格化。相比之下&#xff0c;最近的神经辐射场&#xf…

Java日志框架Logback

logback.xml文件配置(放在src下微服务建议放在resources下) <?xml version"1.0" encoding"UTF-8"?> <configuration><!--定义日志文件的存储地址,使用绝对路径--><property name"LOG_HOME" value"d:/logs"/>…

【已解决】taos时序数据库3.0版本,怎么按照时间分组?

taos数据库中按照时间分组&#xff0c;在2.4版本时候可以直接使用INTERVAL(time_unit)来查询。例如 前面可以直接添加_ts的。但是在3.0版本之后&#xff0c;如果直接使用的话&#xff0c;只会返回count&#xff1a; 没有前面的时间。那么在3.0版本时候&#xff0c;怎么修改呢&a…

Spring Boot学习随笔- 拦截器实现和配置(HandlerInterceptor、addInterceptors)、jar包部署和war包部署

学习视频&#xff1a;【编程不良人】2021年SpringBoot最新最全教程 第十三章、拦截器 拦截器 &#xff1a;Interceptor 拦截 中断 类似于javaweb中的Filter&#xff0c;不过没有Filter那么强大 作用 Spring MVC的拦截器是一种用于在请求处理过程中进行预处理和后处理的机制。拦…

Mybatis-Plus——03,CRUD改

CRUD改 一、CRUD——改update————————如觉不错&#xff0c;随手点赞&#xff0c;关注&#xff0c;收藏(*&#xffe3;︶&#xffe3;)&#xff0c;谢谢~~ 一、CRUD——改update Test//测试更新public void updateTest(){User user new User();user.setId(3L);//怎么改…

基于Vue的汽车服务商城系统设计与实现论文

摘 要 本课题是根据用户的需要以及网络的优势建立的一个基于Vue的汽车服务商城系统&#xff0c;来更好的为用户提供服务。 本基于Vue的汽车服务商城系统应用Java技术&#xff0c;MYSQL数据库存储数据&#xff0c;基于SSMVue框架开发。在网站的整个开发过程中&#xff0c;首先对…

10分钟学会logback错误日志推送企业微信

引言 项目部署到服务器上之后&#xff0c;有错误日志和异常无法及时响应和查看。 本文目的是把logback的error级别日志通过群聊机器人推送到企业微信上。 ps&#xff1a;本文教程默认你的项目已经整合了logback日志框架 知识点引入 Appender: logback 将写入日志事件的任务…

​TrustZone之可信固件

Trusted Firmware是Armv8-A设备的安全世界软件的开源参考实现。Trusted Firmware为SoC开发人员和OEM提供了一个符合相关Arm规格&#xff08;包括TBBR和SMCC&#xff09;的参考Trusted代码库。 以下图表显示了Trusted Firmware的结构&#xff1a; SMC调度程序处理传入的SMC。SMC…

深入了解海外代理IP——代理IP类型区别详解,以及如何获取?

代理充当您的设备和您访问的网站之间的中介&#xff0c;掩盖您的 IP 地址并保护您的身份。但是&#xff0c;并非所有代理都是相同的&#xff0c;接触过的小伙伴都知道&#xff0c;代理IP有很多种类型&#xff0c;每种类型都有针对特定目的的特点&#xff0c;因此在选择之前&…

华为交换机,配置OSPF与BFD联动示例

OSPF简介 定义 开放式最短路径优先OSPF&#xff08;Open Shortest Path First&#xff09;是IETF组织开发的一个基于链路状态的内部网关协议&#xff08;Interior Gateway Protocol&#xff09;。 OSPF把自治系统AS&#xff08;Autonomous System&#xff09;划分成逻辑意义上…

FPGA模块——以太网芯片MDIO读写

FPGA模块——以太网MDIO读写 MDIO接口介绍MDIO接口代码&#xff08;1&#xff09;MDIO接口驱动代码&#xff08;2&#xff09;使用MDIO驱动的代码 MDIO接口介绍 MDIO是串行管理接口。MAC 和 PHY 芯片有一个配置接口&#xff0c;即 MDIO 接口&#xff0c;可以配置 PHY 芯片的工…

原生微信小程序中使用-阿里字体图标-详解

步骤一 1、打开阿里巴巴矢量图标库 网址&#xff1a;iconfont-阿里巴巴矢量图标库 2、搜索字体图标&#xff0c;鼠标悬浮点击添加入库 3、按如下步骤添加到自己的项目 步骤二 进入微信开发者工具 1、创建 fonts文件夹 > iconfont.wxss 文件&#xff0c;将刚才的代码复制…

Spring Boot学习随笔- 文件上传和下载(在线打开、附件下载、MultipartFile)

学习视频&#xff1a;【编程不良人】2021年SpringBoot最新最全教程 第十二章、文件上传、下载 文件上传 文件上传是指将文件从客户端计算机传输到服务器的过程。 上传思路 前端的上传页面&#xff1a;提交方式必须为post&#xff0c;enctype属性必须为multipart/form-data开发…

【STL容器】详解list的使用和模拟实现

&#x1f34e; 博客主页&#xff1a;&#x1f319;披星戴月的贾维斯 &#x1f34e; 欢迎关注&#xff1a;&#x1f44d;点赞&#x1f343;收藏&#x1f525;留言 &#x1f347;系列专栏&#xff1a;&#x1f319; STL函数专栏 &#x1f319;请不要相信胜利就像山坡上的蒲公英一…

Axure--中继器(增删改查)

&#x1f4da;&#x1f4da; &#x1f3c5;我是bing人&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《Axure》。&#x1f3af;&#x1f3af; &#x1f680;无论你是编程小白&#xff0c;还是有一…

龙迅LT86102UXE HDMI一分二HDMI,支持音频剥离,支持4K60HZ

描述&#xff1a; 龙迅 LT86102UXE HDMI2.0 分路器具有符合 HDMI2.0/1.4 规范的 1&#xff1a;2 分路器、最大 6Gbps 高速数据速率、自适应均衡 RX 输入和预加重 TX 输出&#xff08;用于支持长电缆应用&#xff09;、内部 TX 通道交换以实现灵活的 PCB 布线。 LT86102UXE HDM…

Python importlib模块详细教程

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com importlib模块是Python标准库中用于动态导入模块的工具。它提供了一系列函数&#xff0c;允许以编程方式加载、检查和操作模块。本文将深入探讨importlib的各种用法&#xff0c;并通过丰富的示例代码帮助你更好地…

Python 时间日期处理库函数

标准库 datetime >>> import datetime >>> date datetime.date(2023, 12, 20) >>> print(date) 2023-12-20 >>> date datetime.datetime(2023, 12, 20) >>> print(date) 2023-12-20 00:00:00 >>> print(date.strfti…

fv悬浮球恢复备份配置主界面闪退问题解决方法

错误环境&#xff1a; 闪退版本120.0.6099.43 正常版本104.0.5112.97 当fv悬浮球恢复过往的备份配置后打开出现主界面闪退&#xff0c;但是其他功能仍然一切正常&#xff0c;例如应用启动器&#xff0c;分享保存 问题原因&#xff1a;因为安卓系统以往的Android System Web…