news 2026/9/2 22:16:08

Vue指令(3)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Vue指令(3)

v-for

基于数据循环,多次渲染整个元素

基于的数据:数组、对象、数字…

因为在实际开发当中,对象、数字运用的场景较少,常用的为数组

使用样式

遍历数组语法

渲染给需要多次使用的标签

v-for="(item,index)" in '数组'

其中item指的时便利的每一项,index指的是数组的下标

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>v-for的使用</title></head><body><divid="app"><h3>小黑水果店</h3><ul><liv-for="(item, index) in list">{{ item }}</li></ul></div><scriptsrc="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>newVue({el:'#app',data:{list:['苹果','香蕉','橙子','葡萄','水蜜桃']}})</script></body></html>

在上述“小黑水果店示例’代码中,只使用了item属性,源代码可以修改为

<li v-for=item in list>{{ item }}</li>

小黑的书架案例

利用v-for实现列表渲染、v-on函数实现filter删除功能

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>小黑书架案例</title></head><body><divid="app"><h3>小黑的书架</h3><ul><liv-for="(item,index) in Booklist":key="item.id"><span>{{ item.name }}</span><span>{{ item.author }}</span><!-- 删除可以通过数组下标以及id删除,但最好使用id删除,id是唯一的 --><button@click="del(item.id)">删除</button></li></ul></div><scriptsrc="https://cdn.bootcss.com/vue/2.5.17/vue.min.js"></script><script>newVue({el:'#app',data:{Booklist:[{id:1,name:'《红楼梦》',author:'曹雪芹'},{id:2,name:'《西游记》',author:'吴承恩'},{id:3,name:'《三国演义》',author:'罗贯中'},{id:4,name:'《水浒传》',author:'施耐庵'}]},methods:{del(id){console.log('删除id为',id),// 根据id在数组中删除元素->filter// filter:根据条件仅保留满足条件的元素,得到一个新数组,不改变原数组this.Booklist=this.Booklist.filter(item=>item.id!==id)}}})</script></body></html>
v-for中的key
语法

key属性=‘唯一标识’

作用

给列表项添加唯一标识。便于Vue进行列表项的正确排序复用

下面是对使用key与未使用key时的场景的分别说明

在代码中添加key时页面呈现的效果

<li v-for="(item,index) in Booklist" :key="item.id">

key相当于给列表中的每一个li添加了唯一的标识

不在代码中添加key时页面呈现的效果

<li v-for="(item,index) in Booklist">

没有给li添加唯一的标识时,v-for的默认行为会尝试原地修改内容(就地复用)

综上来看,在使用v-for的时候应该在代码中使用key属性=‘唯一标识’

使用key的注意点
  • key的值只能是字符串或者数字类型
  • key的值必须具有唯一性
  • 推荐使用id作为key(唯一),不推荐使用index作为key(会变化,产生不对应的效果)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 12:58:06

Vue指令(4):v-model

v-model 作用 给表单元素使用&#xff0c;实现双向数据绑定&#xff0c;可以快速获取和设置表单元素内容 使用场景分析 上图第一张图为视图&#xff0c;第二张图为数据。两者实现双向数据绑定 &#xff08;1&#xff09;数据变化时&#xff0c;视图自动更新 &#xff08;2…

作者头像 李华
网站建设 2026/9/2 22:33:40

【Halcon-2D测量】add_metrology_object_ellipse_measure 函数功能(用于向2D计量模型中添加椭圆/椭圆弧类型的计量对象)

HALCON算子 add_metrology_object_ellipse_measure 全解析 一、算子核心定位 add_metrology_object_ellipse_measure 是HALCON 2D Metrology(二维计量)模块的核心算子,核心功能是向2D计量模型中添加椭圆/椭圆弧类型的计量对象,并预先生成垂直于椭圆边界的矩形测量区域,同…

作者头像 李华
网站建设 2026/9/2 2:12:07

MySQL 进阶实验:数据库与数据表管理完全指南

继上一篇 MySQL 入门实验后&#xff0c;这一次我们聚焦数据库和数据表的核心管理操作。无论是数据库的创建与删除&#xff0c;还是数据表的结构设计、修改与维护&#xff0c;都是数据库开发中的高频基础技能。本文将通过实验实操&#xff0c;详细拆解 MySQL 中数据库与数据表的…

作者头像 李华
网站建设 2026/9/3 0:19:34

MySQL 视图实战:简化查询与数据安全管控指南

在 MySQL 数据库中&#xff0c;视图是基于查询结果构建的虚拟表 —— 它不存储实际数据&#xff0c;仅保存查询逻辑&#xff0c;却能大幅简化复杂查询、控制数据访问权限。无论是多表关联查询的简化&#xff0c;还是敏感数据的隐藏&#xff0c;视图都能发挥重要作用。本文结合实…

作者头像 李华
网站建设 2026/9/2 22:33:08

冥想第一千七百三十六天(1736)

1.周三&#xff0c;周四来补日记&#xff0c;今天晚上跑步40分钟&#xff0c;项目上特别的忙&#xff0c;最近这一阵子项目都忙的连口水都没时间喝。 2.感谢父母&#xff0c;感谢朋友&#xff0c;感谢家人&#xff0c;感谢不断进步的自己。

作者头像 李华