Vue列表渲染(v-for的使用)

2023-10-26

列表渲染

列表渲染的东西比较多,我们通过案例一步一步学习列表渲染的相关知识

基本列表

首先写一个基本的列表,想要把persons列表里面的对象展示在li里面,我们可以使用一个指令:v-for

在这里插入图片描述

v-for

vue提供给我们做循环的指令,语法类似js的for in遍历

v-for="person in persons"

使用v-for循环数组

在这里插入图片描述

列表数据就被循环出来了

在这里插入图片描述

上面只是简单使用v-for做一个循环,还有很多小细节,逐一说下

细节问题

上面我们使用v-for做循环的时候,缺少了一个重要的属性,那就是key,那么key的作用是什么呢?

key的使用

关于key的描述,官网是这么说的

在这里插入图片描述

key可以理解成一个唯一的标识符,类似于身份证,作为数据的唯一凭证,我们在使用v-for做循环处理的时候,应该是有:key去指定这个唯一标识
虽然不写key也不会报错,也没有任何警告,但是尽量还是按照规范写上

v-for两个参数

上面的案例,只是写了一个参数进行处理,其实v-for是有两个参数的

参数1是循环体的完整对象数据,参数2是索引下标

 <li v-for="a,b in persons" :key="a.id">
                {{a}}-{{b}}
</li>

在这里插入图片描述
在这里插入图片描述

注意:使用的使用不要少了冒号,是:key,不是key,不然就解析不了表达式了

使用index作为key

既然我们已经知道了,第二个参数是索引,那么我们也可以把第二个参数作为key唯一标识去使用

  <li v-for="person,index in persons" :key="index">
                {{person.name}}-{{person.age}}
 </li>       

在这里插入图片描述

参数的括号可有可无

参数的括号是可以可有可无的,但是建议加上,不然一些老的脚手架可能会报错

在这里插入图片描述

在这里插入图片描述

of代替in

v-for可以使用of代替in,作用是一样的,和js简直一模一样

在这里插入图片描述

遍历对象

难道v-for只能遍历上面定义的persons数组类型吗,当然不是,也可以遍历对象类型

在这里插入图片描述

在这里插入图片描述

遍历字符串(用的少)

不仅仅可以遍历数组和对象,还可以遍历字符串

在这里插入图片描述

在这里插入图片描述

遍历指定次数(用的少)

这种和遍历字符串一样,通常用的不多

在这里插入图片描述

在这里插入图片描述

总结

v-for指令
1.用于展示列表数据
2 语法 v-for=(item,index) in(of) xxx :key=“yyy”
3 可遍历:数组(用的多),对象(用的多),字符串(用的少),指定次数(用的少)
代码奉上

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>初始vue</title>
    <!-- 引入vue.js -->
    <script type="text/javascript" src="../js/vue.js"></script>
</head>

<body>
   
    
    <div id="root">
         <!-- 遍历数组 -->
         <h2>人员列表</h2>
       <ul>
            <li v-for="(person,index) of persons" :key="index">
                {{person.name}}-{{person.age}}
            </li>  
       </ul>
        <!-- 遍历对象 -->
        <ul>
            <h2>商品信息</h2>
            <li v-for="(value,key) in shop" :key="key">
                {{key}}-{{value}}
            </li>
        </ul>
         <!-- 遍历字符串 -->
         <ul>
            <h2>遍历字符串</h2>
            <li v-for="(char,index) in str" :key="index">
                {{char}}-{{index}}
            </li>
        </ul>
        <!-- 遍历指定次数 -->
        <ul>
            <h2>遍历指定次数</h2>
            <li v-for="(char,index) in str" :key="index">
                {{char}}-{{index}}
            </li>
        </ul>
          <!-- 遍历指定次数 -->
          <ul>
            <h2>遍历指定次数</h2>
            <li v-for="(number,index) in 10" :key="index">
                {{index}}-{{number}}
            </li>
        </ul>
    </div>
</body>

<script type="text/javascript">
   const vm=  new Vue({
        el:'#root',
        data:{
            persons:[
                {id:'001',name:'张三',age:'18'},
                {id:'002',name:'李四',age:'19'},
                {id:'003',name:'王五',age:'20'}
            ],shop:{
                name:'可乐可乐',
                price:'3.0'
            },
            str:'vue'
           
        }
    
    })
</script>

</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue列表渲染(v-for的使用) 的相关文章

  • Angular UI 模式的范围问题

    我无法理解 使用角度 UI 模式的范围 虽然这里不是很明显 但我已经正确设置了模块和所有内容 据我所知 但这些代码示例尤其是我发现错误的地方 index html 其中重要部分 div class btn group div
  • 如何阻止直接访问我的 JavaScript 文件?

    我使用 Minify 来缩小并缓存所有脚本请求 我只希望我的用户能够访问 JavaScript 文件的缩小版本 缩小位于www example com min我的脚本位于www example com scripts 如何阻止直接访问doc
  • 浏览器视口大小(以设备像素为单位)

    Goal 我希望 Flash 能够获得有关浏览器视口宽度和高度 以设备像素为单位 的准确信息初始化 调整大小或浏览器缩放事件时 规格 我需要将 flash 嵌入到在 chrome safari firefox 等中运行的 html 页面中
  • 如何正确清理来自 AngularJS 控制器的无效输入的表单?

    我有一个 AngularJS 表单 其中包含 除其他字段之外 类型之一url 后者很重要 因为这会强制相应的输入成为有效的 URL 在某些条件下 例如 要关闭具有此类表单的模式对话框 我想以编程方式清除该表单 为此 我实现了方法reset基
  • .push() 将多个对象放入 JavaScript 数组中返回“未定义”

    当我将项目添加到beats数组然后console log用户时 我得到了数组中正确的项目数 但是当我检查 length 时 我总是得到 1 尝试调用索引总是会给我 未定义 如下所示 Tom beats 1 我想我错过了一些明显的东西 但这让
  • 使用 Node.js 构建网站的最佳实践

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我想知道如何使用 Node js 从头开始 开发一个网站 我明白我怎么能possibly
  • 如何使用 Playwright 使用选择器查找框架 (iframe)

    我有一个小问题 无法找到使用 Microsoft Playwright 框架的答案 根据您可以使用以下代码获取 iframe const frame page frame frame login 但是如何使用选择器来查找 iframe 并与
  • 本地推送通知到在应用程序内运行 JS 代码的 Win8 Live Tile

    我正在尝试将更新发送到我的应用程序的磁贴 当应用程序运行时 这可以正常工作 例如 当用户单击按钮时 我可以轻松地将磁贴更新通知发送到磁贴 我无法解决的是当应用程序无法运行时如何更新磁贴 我找到的唯一选择是使用以下命令从远程 Web 服务器拉
  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • 如何使用 Greasemonkey 监视静态 HTML 页面的更改?使用哈希?

    我希望我的 Greasemonkey 脚本仅在其访问的静态页面具有与以前完全相同的内容时运行 现在我可以设置一个包含该页面哈希的变量 我正在寻找一种动态散列页面的方法 以便我可以将我的散列与生成的散列进行比较 关于如何即时实现散列的任何想法
  • 如何使用角度材料在具有可扩展行的表格中创建嵌套垫表

    我有以下数据 id c9d5ab1a subdomain wing domain aircraft part id c9d5ab1a info mimetype application json info dependent parent
  • 如何使用 Javascript 设置查询字符串

    有没有办法使用 javascript 设置查询字符串的值 我的页面有一个过滤器列表 单击该列表时 它将更改右侧的页内结果窗格 我正在尝试更新 url 的查询字符串值 因此如果用户离开页面 然后单击 后退 按钮 他们将返回到最后一个过滤器选择
  • 如何计算特定字符在字符串中出现的次数

    我正在尝试创建一个函数来查看数组中的任何字符是否在字符串中 如果是 有多少个 我尝试计算每一种模式 但是太多了 我尝试使用 Python 中的 in 运算符的替代方案 但效果不佳 function calc fit element var
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • 主页(网格)上的缩略图现在显得模糊。如何纠正?

    我不知道这看起来是否愚蠢 但从早上开始我就无法纠正这个突然出现在我的博客网站上的错误www candidopinions in http www candidopinions in 我有一个网格视图模板 其中博客文章中的特色图像作为调整大小
  • Highcharts jQuery 渲染问题 - 所有浏览器

    我在尝试使用构建堆积柱形图时遇到了一个奇怪的问题高图表 http www highcharts com 当图表呈现时 在您调整浏览器大小之前 不会显示列无论如何 导致图表重绘 我认为 图表的其余部分显示 轴 标题等 但不显示列本身 我在 I
  • 使用 Enzyme 测试 `React.createRef` api

    我想测试下面的类 它使用React createRef api 不过 快速搜索并没有发现任何这样做的例子 有人成功过吗 我该如何嘲笑裁判 理想情况下我想使用shallow class Main extends React Component
  • Flot 库将 y 轴设置为最小值 0 和最大值 24

    如何将 y 轴设置在 0 到 24 的范围内 这是我的代码 j plot j placeholder d1 xaxis mode time min new Date 2010 11 01 getTime max new Date 2011
  • 如何从 json 文件创建模型? (ExtJS)

    这是我想使用 json 文件创建的模型 Ext define Users extend Ext data Model fields name user id type int name user name type string 为了根据服
  • 仅当显式选择行时才关闭 ui-bootstrap typeahead

    我创建了这个jsBin http jsbin com livuqafe 2 edit来证明我遇到的问题 如果您转到此处 请尝试输入 五 并继续 你的自然反应是输入 五 然后按 Tab 如果你想要 五百 你可以向下箭头一次 但是 在这种情况下

随机推荐

  • 浅谈 js运行机制 、宏观任务、微观任务

    今天我们谈一下我对js 运行机制 和宏观任务 微观任务的理解 js运行机制有同步运行和异步运行 js是单线程运行模式在进入任务当中如果是同步任务 那么就直接被主线程运行 如果是异步任务 那么就进入任务队列中进行等待运行 直到主线程任务执行完
  • 二叉树基础

    文章目录 一 树的基础 1 树的概念 2 非树 3 树的相关概念 image 20220402143804166 https img blog csdnimg cn img convert a8bbb6f8483be3ca9edd9e354
  • 虚假人脸检测实验

    虚假人脸检测实验 虚假人脸识别 数据集链接 链接 https pan baidu com s 1ZY7 PqPGsxCBFerpfRW13Q pwd 0w2r 或者https download csdn net download weixi
  • 关于Windows Mobile手机视听电脑视音频的程序实现(一)

    心情不好 突然想写博客了 嘿嘿 其实这一个程序是差不多一年前实现的 那时正好着手一个项目 同时后来也因为这一个项目买了一款多普达手机 呵呵 这一个项目大概实现这么一个功能 电脑 服务器端 安装一个用于抓取摄像头与麦克风的数据 Windows
  • Qt元对象系统

    元对象系统 Meta Object System 元对象系统是一个基于标准C 的扩展 为Qt提供了信号与槽机制 实时类型信息 动态属性系统 元对象系统的三个基本条件 类必须继承自QObject 类声明Q OBJECT宏 默认私有有 元对象编
  • 如何解决幻读?

    一 什么是幻读 幻读 一个事务按相同的查询条件重新读取以前的检索过的数据 却发现其他事务插入了满足其条件查询的新数据 这种现象被成为幻读 进行了读取 分别读取了不同的数据 重点在于新增 insert 针对多笔数据 举个例子 事务A对数据进行
  • python机器人编程——无人机python联动控制实现(VREP仿真)1——手搓一个类ROS机器人消息订阅发布模块

    目录 一 前言 二 总体设想 三 系统的组成 四 python代码构建 构建一个MessageBroker消息代理类 以下这个是常规的MessageBroker类 以下这个是引入协程的MessageBroker类 下面是使用MessageB
  • uni-app插件使用注意事项

    1 将插件设置为全局组件后需要将项目重新运行 2 有些插件的功能会互斥 不要贪多全部装上 按需安装即可
  • QT中QMap使用实例详解

    QMap QMultiMap属于关联式容器 其底层结构是通过二叉树实现 故其查找value的效率很快 QMap中的数据都是成对出现的 第一个称为key 键 第二个称value 键值 目录 实例化QMap对象 插入数据 移除数据 遍历数据 由
  • siege压力测试工具安装和介绍

    前言 最近公司有个项目需要做一个短轮询类推送服务器 推送服务器分为三种 短轮询 长轮询 长连接 用户量不大 但是为了保险起见还是做一下压力测试 用的工具是siege 目录 前言 目录 siege介绍 siege安装 siege使用 1 si
  • python爬虫---用数据解析bs4爬取整部三国演义(不用诗词名句网)

    python爬虫 用数据解析bs4爬取整部三国演义 不用诗词名句网 需求 使用bs4实现将三国演义小说的每一章的内容爬取到本地磁盘进行存储 诗词名句网无法进去 所以我自己找了个网站爬取 思路差不多 首先 对首页的页面数据进行爬取 url h
  • 矩阵的逆矩阵 和 转置矩阵

    这几天用到了逆矩阵 就在这里总结一下逆矩阵和转置矩阵 逆矩阵 逆矩阵就是一个矩阵的逆向 比如一个点乘以一个矩阵后得到了一个新的点的位置 如果想通过这个点再获得矩阵转换前的位置 那我们就需要乘以这个矩阵的逆矩阵 在Three js里面 我们可
  • 国产数据库

    作者 JiekeXu 来源 JiekeXu DBA之路 ID JiekeXu IT 大家好 我是 JiekeXu 很高兴又和大家见面了 今天和大家一起来体验一下 TiDB 5 0 欢迎点击上方蓝字关注我 标星或置顶 更多干货第一时间到达 T
  • springboot对bean的生命周期管理

    声明 代码是JavaEE开发的颠覆者 Spring Boot实战代码中的 我只是拿去学习 传统方式 public class BeanWayService public void init System out println Bean i
  • windows10上通过python3远程连接hive

    注意 impyla 既可以连接impala 也可以连接hive 环境 windows10 python版本 3 6 hive版本 1 1 impyla安装过程 安装依赖 pip3 install bit array pip3 install
  • stm32通过ESP8266连接互联网服务器,手机通过网页实现远程控制灯亮灭

    一 实验结果 最终实验结果如上图所示 由于csdn限制gif图像大小 所以模糊了点 但是还是可以看清的 图中是手机在网页中进行操作 然后发送请求到php服务器 php服务器建立tcp链接 该链接通过一个JAVA写的TCP请求转发器 把tcp
  • EasyExcel实现Excel文件导入导出

    1 EasyExcel简介 EasyExcel是一个基于Java的简单 省内存的读写Excel的开源项目 在尽可能节约内存的情况下支持读写百M的Excel github地址 https github com alibaba easyexce
  • 软考高级-信息系统项目管理工程师-备考建议

    本人参加了2023年11月的软考高项 这里分享一下关于高项的备考建议 高项一共有24章节 其中 重点是7 17这10大管理知识域 需要重点理解性学习 1 3 4 18这4章 几乎全是概念 可以阅读性的速看 把相关概念标注出来 考前在速记一下
  • 【python基础知识】18.实操-使用python自动群发邮件

    文章目录 前言 项目实操 明确项目目标 分析过程 拆解项目 逐步执行 代码实现 版本1 0 学习模块 发一封简单邮件 版本2 0 给自己发一封完整邮件 版本3 0 群发完整邮件 前言 之前 我们学习了模块相关的知识 让我们来回顾一下 回顾结
  • Vue列表渲染(v-for的使用)

    列表渲染 列表渲染的东西比较多 我们通过案例一步一步学习列表渲染的相关知识 基本列表 首先写一个基本的列表 想要把persons列表里面的对象展示在li里面 我们可以使用一个指令 v for v for vue提供给我们做循环的指令 语法类