vue3中的v-for

news2024/9/23 21:28:48

一.列表渲染v-for

真实开发中,往往会从服务器中拿到一组数据,并且需要对其进行渲染,这个时候可以使用v-for完成。

1.v-for的基本使用

1)基本格式:“item in 数组”
  • 数组通常是来自data或者prop,也可以是其他方式;
  • item是给每一项元素起的别名,这个别名可以自己来定义。
  • 如果索引的话,可以使用格式 (item,index) in 数组,但是也注意顺序,index要在数组元素项的后面
// 如果想要在我们得到的列表前面显示序号,在后面加上一个index
<li v-for="(movie,index) in  movies">{{index}}.{{movie}}</li>

// 就会显示为  1.星际穿越  2.少年派
2)v-for也支持遍历对象,并且支持有一二三个参数
  • 一个参数:“ value in Object”;
<ul>
  <li v-for="(value) in info">{{value}}</li>
</ul>
data(){
  return {
    message:"Hello World",
    info:{
      name:'yan',
      age:'18'
    }
  }
}
  • 二个参数:“(value,key) in object”;
    在这里插入图片描述
  • 三个参数:“(value,key,index) in object”
3) v-for还支持遍历数字

每一个item就是一个数字,它也可以添加索引值index ,和前面的一样。

<!-- 遍历数字 -->
<ul>
  <li v-for="num in 10">{{num}}</li>
</ul>

在这里插入图片描述

2.在template中使用v-for

在使用v-for进行列表渲染的时候,往往会用到ul标签,如果想要在ul标签中加入多个标签,需要使用一个标签对这多个元素进行包裹,这个时候不能够使用div标签,ul里面一般默认加li标签,这个时候可以使用template标签,因为在开发者工具中是不显示template,它是一个虚拟DOM。

3.数组更新检测

1)Vue将被侦听的数组的变更方法进行了包裹,所以它们将会触发视图更新。这些被包裹的方法包括:push()、 pop()、shift()、unshift()、splice()、sort()、reverse()
比如一个更新数组的方法:

<input type="text" v-model="newMovie">
<button @click="addMovie">添加电影</button>
methods:{
	addMovie(){
    this.movies.push(this.newMovie);
    this.newMovie="";
  }
}

然后在页面点击添加按钮,就会自动更新到上面的电影列表中。
2)上面的方法是对原来的数组进行修改,但是某些方法不会替换原来的数组,而是生成一个新的数组,要将这个新的数组赋值给原来的数组,才会发生变化,比如:filter()、concat()、slice().

addMovie(){
  this.movies = this.movies.filter(item =>item.length>2)
}

4.v-for中的key是什么作用

在使用v-for进行列表渲染的时候,通常会给元素或者组件绑定一个key属性.
这个key属性的作用,官方的解释是:

  • key属性主要用在Vue的虚拟DOM算法,在新旧nodes对比时辨识VNodes;
  • 如果不使用key,Vue会使用一种最大限度减少动态元素并且尽可能尝试就地修改/复用相同类型元素的算法;
  • 使用key时,它会基于key的变化重新排列元素顺序,并且会移除/销毁key不存在的元素。

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

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

相关文章

Swift(2)

因为要在31号之前用swift写一个系统&#xff0c;我不得不把我的电脑系统更新了一下&#xff0c;之后便下载了这个&#xff0c; 做了一些简单的测试&#xff0c;部分软件还是可以打开的。 这个软件用着的确比那个网站用着要舒服很多。 目录 问号 感叹号 ​编辑if else ​编…

Ubuntu18.04下linuxdeployqt下载安装

开发环境&#xff1a;Ubuntu18.04QT5.14.2 使用需求&#xff1a;使用QT开发完成后的项目需要使用linuxdeployqt工具打包生成相关文件 下载安装&#xff1a; 1.使用火狐浏览器打开linuxdeployqt下载地址&#xff1a; https://github.com/probonopd/linuxdeployqt/releases h…

Diffusion Models, CLIP与 DALLE 的学习与感悟

整合了一下关于Diffusion Models, CLIP与 DALLE 的介绍&#xff0c;应用&#xff0c;以及后续的拓展路线。 (Generative) Diffusion Models 还是先横向对一下最近比较火的几个生成模型 GAN、VAE、Flow-based Models、Diffusion Models。 在这里&#xff0c;可以将Diffusion…

SAP FICO 批量成本估算

批量成本估算 【前言】 单个物料的成本估算我们使用事务代码CK11N&#xff0c;标记/发布使用事务代码CK24&#xff0c;那么若有大批量新建的物料需要做成本估算&#xff0c;怎么办&#xff1f; 这里首先需要检查“成本核算变式”。 后台路径&#xff1a;SPRO→控制→产品成…

SpringBoot+Vue项目图书个性化推荐系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏…

Java设计模式-观察者模式Observer

介绍 观察者模式是行为设计模式之一。当您对对象的状态感兴趣并希望在任何更改时得到通知时&#xff0c;观察者设计模式非常有用。在观察者模式中&#xff0c;观察另一个对象状态的对象被称为观察者&#xff0c;而被观察的对象则被称为主体。 优点 观察者模式设计后&#xff0…

手撕RTSP协议中 从零开始学习RTSP协议 持续更新中....

RTSP协议在安防监控 摄像头有着广泛的运用 &#xff0c;基本上只要是做摄像头 是必须支持的协议。 我个人理解 RTSP基本上算是一个局域网的协议&#xff0c;广域网不太适合因为rtsp传输的视频码率 分辨率 都是比较高的 所有注定了他只适合局域网不适合互联网。 下午就要回家…

Node.js+Vue.js全栈开发王者荣耀手机端官网和管理后台(二) || 后台及接口完结篇

文章目录Node.jsVue.js全栈开发王者荣耀手机端官网和管理后台(二)通用CRUD接口装备&#xff08;物品&#xff09;管理图片上传英雄管理英雄编辑【模型字段】英雄编辑【编辑表单】技能编辑【UI】技能编辑【交互】文章管理富文本编辑器&#xff08;quill&#xff09;富文本编辑器…

23种设计模式(八)——工厂方法模式【对象创建】

文章目录 意图什么时候使用工厂方法真实世界类比工厂方法模式的实现工厂方法模式的优缺点亦称: 虚拟构造函数、Virtual Constructor、Factory Method 意图 在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将…

大数据-hadoop-MapReduce原理详解

MapReduce[1]是Google提出的一个软件架构&#xff0c;用于大规模数据集的并行运算。概念“Map&#xff08;映射&#xff09;”和“Reduce&#xff08;归约&#xff09;”&#xff0c;及他们的主要思想&#xff0c;都是从函数式编程语言借鉴的&#xff0c;还有从矢量编程语言借来…

【基于crul库编写源码实现上传文件到http服务器】

基于crul库编写源码实现上传文件到http服务器编译crul库(可以去我下载资源里面找)用postman生成代码postman生成的代码对应的http服务器的设置_msnap_send_to_httpserver函数有http通过json发送jpeg文件、以及上传ftp服务器、发邮件的实例编译crul库(可以去我下载资源里面找) …

MySQL数据库及数据表相关操作

一,前言1.典型数据库数据库圈子中典型代表:MySQLOracleSQL Server&#xff08;一般在学校学习的时候用到的是这个数据库&#xff09;Oracle是世界上公认的最好的数据库,但是我们现在所学习以及以后上班中大部分时候用到的数据库是MySQL,因为MySQL是开源免费的(任何人都可以阅读…

86.编码器-解码器架构以及代码实现

1. 重新考察CNN 2. 重新考察RNN 3. 编码器-解码器架构 4. 总结 使用编码器-解码器架构的模型&#xff0c;编码器负责表示输入&#xff0c;解码器负责输出 5. 代码实现 5.1 编码器 在编码器接口中&#xff0c;我们只指定长度可变的序列作为编码器的输入X。 任何继承这个Enco…

数据结构 - 学习笔记 - 红黑树前传——234树

数据结构 - 学习笔记 - 红黑树前传——234树简介结点类型与红黑树对应关系插入逻辑插入步骤演示2结点插入3结点插入&#xff08;红黑树旋转&#xff09;共对应6种红黑树情形有4种情形需要再平衡4结点插入&#xff08;红黑树变色&#xff09;234树转红黑树触发分裂有4种情形需要…

234. 回文链表

1、题目描述 额外要求&#xff1a;你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题&#xff1f; 2、题解 2.1 解题思路1 使用额外的栈空间&#xff0c;先将链表中所有的元素依次压入栈中&#xff0c;得到链表的逆序&#xff0c;然后将栈中的元素依次弹出和链表中的元素从…

C++关于初始化列表的细节(必须/不能使用初始化列表的情况、初始化列表的效率分析)

必须使用初始化列表初始化的变量 const修饰的成员变量。 class A { public:A() { a 1; }int a; };构造函数内使用a 1初始化变量a&#xff0c;但这本质上是一种赋值&#xff0c;而我们都知道&#xff0c;const类型的变量是不允许赋值的。 没有默认构造函数的成员变量 所有变量…

百度安全在线查询提示风险原因分析与解决思路

很多站长看到自己的网站被百度提示&#xff1a;“百度网址安全中心提醒您&#xff1a;该页面可能存在违法信息”&#xff0c;这样的提示&#xff0c;都会惊讶自己网站昨天还好好的&#xff0c;怎么今天就提示这样的信息呢&#xff1f;在弄清楚这个问题之前&#xff0c;我们要知…

实时频谱仪的外部I、Q输出端口的同步扫描介绍

实时频谱分析仪与外部GPIO&#xff0c;I、Q输出端口等集成在一起。外部GPIO由外部触发功能组成&#xff0c;通过使用外部硬件和/或多个RTSA设备&#xff0c;可以实现同步扫描设置&#xff0c;以自动进行频谱扫描和捕获。同时&#xff0c;I、Q输出端口有助于与外部高速数字化仪集…

联合证券|日元疯狂跳水30000点!神秘无人机现身韩国萨德基地!

刚刚&#xff0c;又有大事发生&#xff01; 日本央行意外宣告保持收益率曲线忍受区间不变。日元忽然大暴跌&#xff0c;日元兑美元狂泻超三万点。韩国也有大音讯&#xff0c;据韩联社报导&#xff0c;1月17日&#xff0c;一架无人机挨近韩国“萨德”基地时被美军用搅扰枪击落&a…

2023跳槽最新面试题整理——JVM系列

今天是农历2022年腊月二十七了&#xff0c;和往常的春节假期、五一假期和十一假期一样都是团队中坚持到最后的一个。没几天也要快过年了&#xff0c;我先提前向大家拜个早年——祝大家兔年大吉&#xff0c;新春快乐&#xff0c;财源滚滚&#xff0c;万事如意。 今年从十一…