Vue中v-for的9种使用案例总结大全

 更新时间:2023年12月28日 08:26:47   作者:不会敲代码的健身教练  
v-for是vue的循环指令,作用是遍历数组(对象)的每一个值,这篇文章主要给大家介绍了关于Vue中v-for的9种使用案例的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

v-for可以用于循环渲染数组、对象和数字等数据类型,常见的使用场景包括:

1. 循环渲染数组

以下代码的意思是:循环渲染一个包含三个元素的列表,每个元素的值分别为“第一项”、“第二项”和“第三项”。

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

<script>
export default {
  data() {
    return {
      list: ['第一项', '第二项', '第三项']
    }
  }
}
</script>

2. 循环渲染对象

以下代码的意思是:循环渲染一个包含三个属性的对象,每个属性的键值对分别为“name: 张三”、“age: 18”和“gender: 男”。

<template>
  <div>
    <ul>
      <li v-for="(value, key) in obj" :key="key">{{ key }}: {{ value }}</li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      obj: {
        name: '张三',
        age: 18,
        gender: '男'
      }
    }
  }
}
</script>

3. 循环渲染数字

以下代码的意思是:循环渲染数字1到5,每个数字作为列表项的内容。

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

<script>
export default {
  data() {
    return {}
  }
}
</script>

4. 循环渲染带有索引的数组

以下代码的意思是:循环渲染一个包含三个元素的列表,每个元素的值分别为“第一项”、“第二项”和“第三项”,并在每个列表项前面显示该项的索引。

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

<script>
export default {
  data() {
    return {
      list: ['第一项', '第二项', '第三项']
    }
  }
}
</script>

5. 循环渲染嵌套数组

以下代码的意思是:循环渲染一个包含两个元素的列表,每个元素包含一个标题和一个子列表,子列表中包含两个子项。

<template>
  <div>
    <ul>
      <li v-for="(item, index) in list" :key="index">
        {{ item.title }}
        <ul>
          <li v-for="(subItem, subIndex) in item.subList" :key="subIndex">{{ subItem }}</li>
        </ul>
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      list: [
        {
          title: '第一项',
          subList: ['子项1', '子项2']
        },
        {
          title: '第二项',
          subList: ['子项3', '子项4']
        }
      ]
    }
  }
}
</script>

6. 循环渲染对象数组

以下代码的意思是:循环渲染一个包含三个元素的对象数组,每个元素包含一个name和age属性。

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

<script>
export default {
  data() {
    return {
      list: [
        { name: '张三', age: 18 },
        { name: '李四', age: 20 },
        { name: '王五', age: 22 }
      ]
    }
  }
}
</script>

7. 循环渲染多维数组

以下代码的意思是:循环渲染一个包含两个元素的多维数组,每个元素是一个包含两个元素的数组。

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

<script>
export default {
  data() {
    return {
      list: [
        ['第一项', '第二项'],
        ['第三项', '第四项']
      ]
    }
  }
}
</script>

8. 循环渲染对象的属性数组

以下代码的意思是:循环渲染一个对象的属性数组,每个元素是对象的一个属性值

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

<script>
export default {
  data() {
    return {
      obj: {
        name: '张三',
        age: 18,
        gender: '男'
      }
    }
  },
  computed: {
    list() {
      return Object.values(this.obj)
    }
  }
}
</script>

9. 循环渲染组件

以下代码的意思是:循环渲染一个包含三个元素的对象数组,

<template>
  <div>
    <my-component v-for="(item, index) in list" :key="index" :item="item"></my-component>
  </div>
</template>

<script>
import MyComponent from './MyComponent.vue'

export default {
  components: {
    MyComponent
  },
  data() {
    return {
      list: [
        { name: '张三', age: 18 },
        { name: '李四', age: 20 },
        { name: '王五', age: 22 }
      ]
    }
  }
}
</script>

总结 

到此这篇关于Vue中v-for的9种使用案例的文章就介绍到这了,更多相关Vue v-for使用案例内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue+vant-UI框架实现购物车的复选框全选和反选功能

    vue+vant-UI框架实现购物车的复选框全选和反选功能

    这篇文章主要介绍了vue+vant-UI框架实现购物车的复选框全选和反选功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • 一步步带你用vite简单搭建ts+vue3全家桶

    一步步带你用vite简单搭建ts+vue3全家桶

    Vue3与TS的联合是大趋势,下面这篇文章主要给大家介绍了关于用vite简单搭建ts+vue3全家桶的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Javascript vue.js表格分页,ajax异步加载数据

    Javascript vue.js表格分页,ajax异步加载数据

    这篇文章主要介绍了Javascript vue.js表格分页,ajax异步加载数据的相关资料,需要的朋友可以参考下
    2016-10-10
  • Vue使用xlsx插件导出excel文件的详细指南

    Vue使用xlsx插件导出excel文件的详细指南

    第三方库xlsx提供了强大的功能来处理Excel文件,它可以简化导出Excel文件这个过程,下面小编就来为大家详细讲讲Vue如何通过xlsx导出excel,需要的小伙伴可以了解下
    2025-04-04
  • Vue-CLI 3 scp2自动部署项目至服务器的方法

    Vue-CLI 3 scp2自动部署项目至服务器的方法

    这篇文章主要介绍了Vue-CLI 3 scp2自动部署项目至服务器的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • vuex中Getter的用法详解

    vuex中Getter的用法详解

    这篇文章主要给大家介绍了关于Vuex中Getter的基本使用教程,getter相当于Vuex中的计算属性 对 state 做处理再返回,本文通过示例代码将Getter介绍的非常详细,需要的朋友可以参考下
    2021-07-07
  • 关于vue项目一直出现 sockjs-node/info?t=XX的解决办法

    关于vue项目一直出现 sockjs-node/info?t=XX的解决办法

    sockjs-node 是一个JavaScript库,提供跨浏览器JavaScript的API,创建了一个低延迟、全双工的浏览器和web服务器之间通信通道,这篇文章主要介绍了vue项目一直出现 sockjs-node/info?t=XX的解决办法,需要的朋友可以参考下
    2023-12-12
  • vue前端灵活改变后端地址两种方式

    vue前端灵活改变后端地址两种方式

    最近在学习或工作中遇到,把Vue前端项目打包后,要求可以再次修改请求后端接口的基础地址,下面这篇文章主要给大家介绍了关于vue前端灵活改变后端地址的两种方式,需要的朋友可以参考下
    2024-03-03
  • vue中的el-form表单rule校验问题(特殊字符、中文、数字等)

    vue中的el-form表单rule校验问题(特殊字符、中文、数字等)

    这篇文章主要介绍了vue中的el-form表单rule校验问题(特殊字符、中文、数字等),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • SpringBoot+Vue3实现文件的上传和下载功能

    SpringBoot+Vue3实现文件的上传和下载功能

    上传文件和下载文件是我们平时经常用到的功能,接下来就让我们用SpringBoot,Vue3和ElementPlus组件实现文件的上传和下载功能吧,感兴趣的朋友跟随小编一起看看吧
    2023-01-01

最新评论