当前位置:首页 > VUE

vue 实现循环

2026-01-13 06:23:10VUE

循环渲染列表

在Vue中,使用v-for指令实现循环渲染列表。基本语法为v-for="(item, index) in items",其中items是数据源数组,item是当前遍历的元素,index是可选索引。

<template>
  <ul>
    <li v-for="(fruit, index) in fruits" :key="index">
      {{ index }}: {{ fruit }}
    </li>
  </ul>
</template>

<script>
export default {
  data() {
    return {
      fruits: ['Apple', 'Banana', 'Orange']
    }
  }
}
</script>

循环渲染对象

v-for也可以遍历对象的属性,语法为v-for="(value, key, index) in object"

<template>
  <ul>
    <li v-for="(value, key) in user" :key="key">
      {{ key }}: {{ value }}
    </li>
  </ul>
</template>

<script>
export default {
  data() {
    return {
      user: {
        name: 'John',
        age: 30,
        gender: 'male'
      }
    }
  }
}
</script>

使用key属性

为每个循环项添加唯一的key属性,帮助Vue高效更新DOM。通常使用数据中的唯一标识符而非索引。

<template>
  <div v-for="item in items" :key="item.id">
    {{ item.name }}
  </div>
</template>

循环范围数字

v-for可以循环一个整数范围,语法为v-for="n in 10",从1循环到10。

<template>
  <span v-for="n in 5" :key="n">{{ n }}</span>
</template>

条件循环

结合v-ifv-for时,注意v-for优先级更高。推荐使用计算属性过滤数据而非混合指令。

vue 实现循环

<template>
  <ul>
    <li v-for="item in filteredItems" :key="item.id">
      {{ item.name }}
    </li>
  </ul>
</template>

<script>
export default {
  computed: {
    filteredItems() {
      return this.items.filter(item => item.active)
    }
  }
}
</script>

标签: vue
分享给朋友:

相关文章

vue实现全文检索

vue实现全文检索

Vue 实现全文检索的方法 客户端全文检索(适用于小型数据集) 使用 flexsearch 或 lunr.js 等轻量级库实现前端全文检索: import FlexSearch from 'flex…

vue实现展开与收起

vue实现展开与收起

Vue 实现展开与收起功能 在 Vue 中实现展开与收起功能可以通过多种方式完成,以下是一些常见的方法: 使用 v-show 或 v-if 控制显示 通过 Vue 的指令 v-show 或 v-if…

vue SSG实现

vue SSG实现

Vue SSG 实现方法 Vue 的静态站点生成(SSG)可以通过多种工具和框架实现,以下是几种常见的方法: 使用 VuePress VuePress 是一个基于 Vue 的静态站点生成器,适合文档…

vue实现删除

vue实现删除

Vue 实现删除功能的方法 在 Vue 中实现删除功能通常涉及以下几个步骤: 数据绑定与列表渲染 使用 v-for 指令渲染列表数据,并为每个项绑定唯一标识符(如 id)。例如: <…

vue实现图片

vue实现图片

Vue 实现图片功能的方法 静态图片引入 在 Vue 项目中,可以通过 src 属性直接引入静态图片。图片通常放在 public 或 assets 目录下。 <template> &…

vue实现tap

vue实现tap

Vue 实现 Tap 事件 在移动端开发中,Tap 事件比 Click 事件更常用,因为 Click 事件有 300ms 延迟。以下是几种在 Vue 中实现 Tap 事件的方法。 使用第三方库 安装…