当前位置:首页 > VUE

vue 实现循环

2026-03-07 13:42:39VUE

循环渲染列表数据

在 Vue 中,可以使用 v-for 指令来循环渲染数组或对象的数据。v-for 指令需要特殊的语法形式 item in items,其中 items 是源数据数组,item 是被迭代的数组元素的别名。

<ul>
  <li v-for="item in items" :key="item.id">
    {{ item.message }}
  </li>
</ul>

获取当前索引

可以在 v-for 块中访问父作用域的属性,还可以使用第二个参数作为当前项的索引。

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

遍历对象

v-for 也可以遍历对象的属性,提供第二个参数为属性名,第三个参数为索引。

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

维护状态

为了给 Vue 一个提示以便跟踪每个节点的身份,需要为每项提供一个唯一的 key 属性。理想的 key 值是每项都有唯一 id。

<div v-for="item in items" :key="item.id">
  <!-- 内容 -->
</div>

数组更新检测

Vue 对数组的变更方法进行了包裹,这些方法会触发视图更新,包括 push()pop()shift()unshift()splice()sort()reverse()

显示过滤/排序后的结果

想要显示过滤或排序后的结果而不实际变更原始数据,可以创建一个计算属性返回过滤或排序后的数组。

computed: {
  filteredItems() {
    return this.items.filter(item => item.isActive)
  }
}

v-for 里使用范围值

v-for 可以接受整数,模板会基于 1...n 的范围重复多次。

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

<template> 上使用 v-for

可以利用带有 v-for<template> 来循环渲染一段包含多个元素的内容。

<ul>
  <template v-for="item in items" :key="item.id">
    <li>{{ item.message }}</li>
    <li class="divider"></li>
  </template>
</ul>

v-forv-if 一起使用

不推荐在同一元素上使用 v-ifv-for,当它们处于同一节点时,v-for 的优先级比 v-if 更高。建议使用计算属性过滤列表数据。

vue 实现循环

computed: {
  activeItems() {
    return this.items.filter(item => !item.isActive)
  }
}

标签: vue
分享给朋友:

相关文章

vue slot实现

vue slot实现

vue slot 的实现方法 在 Vue 中,slot 是一种内容分发机制,允许父组件向子组件传递模板内容。以下是几种常见的 slot 实现方式: 默认 slot 默认 slot 是最基础的 slo…

vue实现rtc

vue实现rtc

Vue 实现 RTC 的步骤 安装依赖 在 Vue 项目中安装 WebRTC 相关依赖,如 simple-peer 或 peerjs,用于简化 WebRTC 的实现。 运行以下命令安装 simple-…

vue实现返回

vue实现返回

返回按钮功能实现 在Vue中实现返回功能通常有两种方式:使用浏览器历史记录的history.back()或结合Vue Router进行编程式导航。以下是具体实现方法: 使用浏览器API metho…

vue实现getapp

vue实现getapp

Vue 中实现全局获取应用实例的方法 在 Vue 3 中,可以通过 getCurrentInstance 方法获取当前组件实例,但需要明确其使用场景和限制。以下是具体实现方式: 方法一:通过 get…

vue实现ssr

vue实现ssr

Vue 实现 SSR(服务端渲染) Vue 的服务端渲染(SSR)允许在服务器端生成完整的 HTML 内容,再发送到客户端,提升首屏加载速度和 SEO 友好性。以下是实现 Vue SSR 的关键步骤和…

vue nexttick实现

vue nexttick实现

Vue 中 nextTick 的实现原理 Vue 的 nextTick 是一个用于在下次 DOM 更新循环结束之后执行延迟回调的方法。它的核心实现依赖于 JavaScript 的事件循环机制。 基本…