当前位置:首页 > VUE

vue 实现循环

2026-01-08 01:43:41VUE

Vue 实现循环的方法

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

vue 实现循环

基本数组循环

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

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

对象循环

<template>
  <ul>
    <li v-for="(value, key, index) in object" :key="key">
      {{ key }}: {{ value }}
    </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>

使用计算属性过滤循环

<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', category: 'fruit' },
        { id: 2, name: 'Carrot', category: 'vegetable' },
        { id: 3, name: 'Orange', category: 'fruit' }
      ]
    }
  },
  computed: {
    filteredItems() {
      return this.items.filter(item => item.category === 'fruit')
    }
  }
}
</script>

嵌套循环

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

<script>
export default {
  data() {
    return {
      groups: [
        {
          id: 1,
          name: 'Fruits',
          items: [
            { id: 1, name: 'Apple' },
            { id: 2, name: 'Banana' }
          ]
        },
        {
          id: 2,
          name: 'Vegetables',
          items: [
            { id: 3, name: 'Carrot' },
            { id: 4, name: 'Broccoli' }
          ]
        }
      ]
    }
  }
}
</script>

注意事项

  • 始终为循环项提供唯一的 key 属性,这有助于 Vue 高效地更新 DOM
  • 避免在模板中使用复杂的逻辑,可以将复杂逻辑移至计算属性或方法中
  • 当数据变化时,Vue 会自动重新渲染循环内容
  • 在 Vue 3 中,v-for 的优先级高于 v-if,建议将两者分开使用

标签: vue
分享给朋友:

相关文章

vue实现盖章

vue实现盖章

Vue 实现盖章功能 在Vue中实现盖章功能通常涉及前端UI交互,通过Canvas或SVG绘制印章,并允许用户拖拽或点击放置印章。以下是具体实现方法: 使用Canvas绘制印章 通过HTML5的Ca…

vue实现active

vue实现active

Vue 实现 active 状态的方法 在 Vue 中实现 active 状态可以通过以下几种方式实现,具体取决于使用场景和需求。 使用 v-bind:class 动态绑定类名 通过 v-bind:…

vue实现tap

vue实现tap

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

vue实现追加

vue实现追加

追加数据到数组或列表 在Vue中追加数据到数组或列表,可以通过push方法或concat方法实现。以下是几种常见的实现方式: 方法一:使用push方法 this.items.push(newIte…

vue列表查询实现

vue列表查询实现

实现 Vue 列表查询功能 基础列表渲染 在 Vue 中可以通过 v-for 指令实现列表渲染,结合计算属性动态过滤数据: <template> <div> &l…

用vue实现全选

用vue实现全选

实现全选功能的基本思路 在Vue中实现全选功能通常涉及以下核心逻辑:通过一个布尔值控制全选状态,遍历子选项并同步其选中状态。以下是具体实现方法。 使用v-model绑定全选状态 在模板中,使用v-m…