vue实现for循环
Vue 中实现 for 循环的方法
Vue 提供了 v-for 指令来实现循环渲染列表数据。以下是几种常见的使用方式:

遍历数组
<template>
<ul>
<li v-for="(item, index) in items" :key="index">
{{ item.name }} - {{ index }}
</li>
</ul>
</template>
<script>
export default {
data() {
return {
items: [
{ name: 'Item 1' },
{ name: 'Item 2' },
{ name: 'Item 3' }
]
}
}
}
</script>
遍历对象
<template>
<ul>
<li v-for="(value, key, index) in object" :key="key">
{{ key }}: {{ value }} ({{ index }})
</li>
</ul>
</template>
<script>
export default {
data() {
return {
object: {
firstName: 'John',
lastName: 'Doe',
age: 30
}
}
}
}
</script>
遍历数字范围
<template>
<ul>
<li v-for="n in 5" :key="n">
{{ n }}
</li>
</ul>
</template>
使用 v-for 和 v-if
注意:Vue 3 中 v-if 比 v-for 优先级更高,推荐使用计算属性过滤数据
<template>
<ul>
<li v-for="item in filteredItems" :key="item.id">
{{ item.name }}
</li>
</ul>
</template>
<script>
export default {
data() {
return {
items: [
{ id: 1, name: 'Apple', isActive: true },
{ id: 2, name: 'Banana', isActive: false },
{ id: 3, name: 'Orange', isActive: true }
]
}
},
computed: {
filteredItems() {
return this.items.filter(item => item.isActive)
}
}
}
</script>
维护列表状态
为每个循环项添加唯一的 key 属性,帮助 Vue 高效更新 DOM
<template>
<div v-for="user in users" :key="user.id">
{{ user.name }}
</div>
</template>
在组件中使用 v-for
<template>
<my-component
v-for="(item, index) in items"
:key="index"
:item="item"
@custom-event="handleEvent"
/>
</template>
这些方法涵盖了 Vue 中实现循环的主要场景,根据具体需求选择合适的方式。







