v-for 是 vue 中渲染列表的核心指令,用于遍历数组或对象生成响应式元素;基础写法为 item in array,支持 (item, index) in array 获取索引;必须用唯一标识(如 item.id)设 :key,禁用 index 或随机数。

v-for 是 Vue 中专门用来渲染列表的核心指令,用它遍历数组生成多个相同结构的元素,既简洁又响应式。
基础写法:item in array
最常用的形式是 v-for="item in array",其中 item 是当前遍历项的别名,array 是源数据数组。
- 数组必须是响应式定义的(如在
data()或ref()中声明) - 模板中直接使用
{{ item }}输出内容 - 适用于字符串、数字等简单值,也适用于对象(配合点语法取属性)
带索引遍历:(item, index) in array
需要序号或根据位置做逻辑时,加一个参数获取索引:v-for="(item, index) in array"。
递归分析 Vue 项目组件依赖,从入口文件生成组件层级图,支持 Vue 2/3,输出组件名、文件路径和属性。适用于分析组件结构、排查依赖或了解项目架构。
-
index从 0 开始,常用于显示序号(如{{ index + 1 }}) - 可用于绑定点击事件处理特定位置,比如
@click="removeAt(index)" - 注意:不要用
index当:key,除非数组只读且顺序永不变化
必须设置 key 属性
每次使用 v-for,都要为循环元素添加 :key,推荐用每项的唯一标识(如 item.id)。
-
:key帮助 Vue 高效更新 DOM,避免状态错乱(比如表单输入、动画、组件复用) - 不能用随机数或
Math.random(),也不能用index作 key(除非确定数组不增删、不排序) - 若数据无天然 id,可结合
crypto.randomUUID()或后端返回的唯一字段
遍历对象数组的常见模式
后端接口返回的列表多为对象数组,v-for 可直接访问属性:
<div v-for="user in users" :key="user.id">{{ user.name }} - {{ user.email }}</div>- 支持嵌套结构,如
{{ user.profile.avatar }}(确保路径存在,或用可选链{{ user.profile?.avatar }}) - 可在循环内访问父级 data 中的其他变量(如分页状态、搜索关键词)
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!









