当前位置:首页 > VUE

vue实现循环功能

2026-02-20 04:43:37VUE

使用 v-for 指令实现循环

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

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

<script>
export default {
  data() {
    return {
      items: [
        { name: 'Apple' },
        { name: 'Banana' },
        { name: 'Cherry' }
      ]
    };
  }
};
</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: 'Alice',
        age: 25,
        role: 'Developer'
      }
    };
  }
};
</script>

使用 key 提升性能

为每个循环项添加唯一的 :key 属性,通常使用 idindex,帮助 Vue 高效更新 DOM。

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

循环渲染数字范围

通过 v-for="n in 10" 可以循环固定次数,渲染数字 1 到 10。

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

结合条件渲染

在循环中可嵌套 v-if,但推荐使用计算属性过滤数据,避免性能问题。

<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', active: true },
        { id: 2, name: 'Banana', active: false }
      ]
    };
  },
  computed: {
    filteredItems() {
      return this.items.filter(item => item.active);
    }
  }
};
</script>

嵌套循环

多层数据结构可通过嵌套 v-for 实现。

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

使用 <template> 标签分组

<template> 标签可包裹多个元素进行循环,但不渲染为实际 DOM 节点。

vue实现循环功能

<template>
  <template v-for="item in items" :key="item.id">
    <p>{{ item.title }}</p>
    <span>{{ item.desc }}</span>
  </template>
</template>

以上方法覆盖了 Vue 中循环功能的常见场景,根据需求选择合适的方式即可。

标签: 功能vue
分享给朋友:

相关文章

vue的艾特功能实现

vue的艾特功能实现

Vue 的 @ 功能实现 在 Vue 中实现类似社交平台的 @ 功能,通常涉及输入框的监听、用户匹配和选择插入。以下是具体实现方法: 监听输入框内容 使用 v-model 绑定输入框内容,并通过 @…

vue实现app

vue实现app

Vue 实现 App 的常见方法 使用 Vue 开发移动端 App 主要有两种主流方案:混合开发(Hybrid)和原生渲染。以下是具体实现方式和工具链: 混合开发方案(WebView 嵌入) 通过…

vue页面实现

vue页面实现

Vue 页面实现方法 创建 Vue 组件 使用 Vue 单文件组件(SFC)方式创建页面,文件扩展名为 .vue。一个基本的 Vue 组件包含三个部分:模板(template)、脚本(script)和…

vue实现滑块

vue实现滑块

Vue 实现滑块组件的方法 使用原生 HTML 和 Vue 指令 通过 Vue 的 v-model 和事件监听实现基础滑块功能。创建一个包含 input 元素的组件,类型设置为 range,并绑定到…

vue原理实现

vue原理实现

Vue 原理实现的核心机制 Vue.js 的核心原理基于响应式系统、虚拟 DOM 和模板编译。以下是其核心实现机制的分解: 响应式系统 Vue 使用 Object.defineProperty(Vu…

vue实现tap

vue实现tap

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