当前位置:首页 > 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。

vue 实现循环

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

数组更新检测

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

显示过滤/排序后的结果

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

vue 实现循环

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 更高。建议使用计算属性过滤列表数据。

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

标签: vue
分享给朋友:

相关文章

vue el 实现

vue el 实现

Vue 中使用 Element UI (el) 的实现方法 Element UI 是一个基于 Vue 的组件库,提供丰富的 UI 组件,常用于快速构建企业级中后台产品。以下介绍 Vue 项目中集成和使…

vue 实现评分

vue 实现评分

Vue 实现评分功能 在 Vue 中实现评分功能可以通过多种方式完成,包括使用第三方组件库或自定义实现。以下是两种常见的方法: 使用第三方组件库(如 Element UI) Element UI 提…

vue实现 页面

vue实现 页面

Vue 实现页面的核心方法 创建 Vue 项目 使用 Vue CLI 或 Vite 快速初始化项目。Vue CLI 是官方脚手架工具,适合传统项目;Vite 提供更快的现代构建体验。 npm cre…

vue实现伸缩

vue实现伸缩

Vue实现伸缩功能的方法 使用CSS过渡和Vue的v-if或v-show 通过CSS的transition属性结合Vue的条件渲染指令(v-if或v-show)可以实现元素的伸缩效果。定义一个CSS类…

vue实现例子

vue实现例子

以下是一些常见的 Vue 实现例子,涵盖基础功能到进阶应用场景: 基础数据绑定 使用 v-model 实现双向数据绑定: <template> <div> &l…

vue实现监控

vue实现监控

Vue 实现监控功能的方法 在 Vue 中实现监控功能通常涉及数据变化监听、事件监听或第三方监控工具集成。以下是几种常见实现方式: 使用 Vue 的 watch 监听数据变化 通过 watch 可以…