当前位置:首页 > VUE

vue 实现循环

2026-02-10 13:52:29VUE

循环渲染列表数据

在 Vue 中,可以通过 v-for 指令实现循环渲染。v-for 可以遍历数组或对象,并为每个元素生成对应的 DOM 节点。

基本语法:

<template>
  <div>
    <!-- 遍历数组 -->
    <ul>
      <li v-for="(item, index) in items" :key="index">
        {{ item }}
      </li>
    </ul>

    <!-- 遍历对象 -->
    <ul>
      <li v-for="(value, key) in object" :key="key">
        {{ key }}: {{ value }}
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      items: ['Apple', 'Banana', 'Orange'],
      object: {
        name: 'Vue',
        version: '3.x'
      }
    };
  }
};
</script>

使用 key 提升性能

v-for 必须绑定 :key,以便 Vue 高效更新 DOM。推荐使用唯一标识(如 id),避免直接使用 index(除非列表静态)。

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

<script>
export default {
  data() {
    return {
      users: [
        { id: 1, name: 'Alice' },
        { id: 2, name: 'Bob' }
      ]
    };
  }
};
</script>

循环渲染组件

v-for 也可用于循环渲染子组件,需通过 props 传递数据。

<template>
  <div>
    <user-item 
      v-for="user in users" 
      :key="user.id" 
      :user="user" 
    />
  </div>
</template>

<script>
import UserItem from './UserItem.vue';

export default {
  components: { UserItem },
  data() {
    return {
      users: [
        { id: 1, name: 'Alice' },
        { id: 2, name: 'Bob' }
      ]
    };
  }
};
</script>

条件与循环结合

使用 v-ifv-for 时,注意优先级:v-for 高于 v-if。推荐通过计算属性过滤数据,而非直接混合使用。

<template>
  <div>
    <div v-for="num in evenNumbers" :key="num">
      {{ num }}
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      numbers: [1, 2, 3, 4, 5]
    };
  },
  computed: {
    evenNumbers() {
      return this.numbers.filter(num => num % 2 === 0);
    }
  }
};
</script>

遍历数字范围

v-for 可遍历数字范围,生成固定次数的循环。

vue 实现循环

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

标签: vue
分享给朋友:

相关文章

vue实现文档分享

vue实现文档分享

Vue 实现文档分享功能 文档分享功能通常涉及文件上传、存储、生成分享链接以及权限控制等模块。以下是基于 Vue 的实现方案: 文件上传组件 使用 element-ui 或 ant-design-v…

vue实现图片分析

vue实现图片分析

Vue 实现图片分析的方法 在 Vue 中实现图片分析通常涉及图片上传、预览、后端交互以及分析结果展示等功能。以下是几种常见的实现方式: 使用 HTML5 File API 和 Canvas…

vue筛选实现

vue筛选实现

Vue 筛选实现方法 使用计算属性实现筛选 计算属性是 Vue 中实现数据筛选的常用方式。通过定义一个计算属性,可以根据输入的条件动态过滤数据。 <template> <div…

vue实现波形

vue实现波形

实现波形效果的方法 在Vue中实现波形效果可以通过多种方式完成,常见的方法包括使用Canvas绘制、CSS动画或第三方库。以下是几种实现方案: 使用Canvas绘制波形 通过Canvas API动态…

vue实现slidetoggle

vue实现slidetoggle

Vue 实现 SlideToggle 效果 SlideToggle 是一种常见的交互效果,元素以滑动方式展开或收起。以下是几种实现方法: 使用 CSS Transition 和 v-show 通过…

vue实现录像

vue实现录像

Vue 实现录像功能 在 Vue 中实现录像功能通常需要借助浏览器的 MediaDevices API 和 MediaRecorder API。以下是实现步骤: 获取用户摄像头和麦克风权限 使用 n…