被迫走上前端之路第六课之vue的v-for列表渲染

有时候我们需要动态显示一些标签重复的内容或者可迭代数据,如果手动一条条实现有点麻烦,而且代码看着不美观,这个时候就要用到v-for来实现

语法

其中,items是可迭代的对象

<!--写法一-->
<div v-for="item in items"></div>
<!--写法二-->
<div v-for="item of items"></div>

注:有时给 Vue 一个提示,以便它可以跟踪每个节点的标识,从而重用和重新排序现有的元素,你需要为每个元素对应的块提供一个唯一的 key
语法如下:

<div v-for="(item,index) in items" :key="index"></div>

这里的index相当于给循环的每个标签加了一个序号,然后通过key与该标签绑定,这样就可以唯一识别和追踪每个循环的标签(当然你也可以绑定别的值)

举个栗子

动态显示数组

<script setup>
const arr=[1,2,3,4,5,6]
</script>

<template>
  <div v-for="i in arr">
    {{i}}
  </div>
</template>

动态显示字典

<script setup>
import { ref } from 'vue'

// 给每个 todo 对象一个唯一的 id
let id = 0

const newTodo = ref('')
const todos = ref([
  { id: id++, text: 'Learn HTML' },
  { id: id++, text: 'Learn JavaScript' },
  { id: id++, text: 'Learn Vue' }
])
</script>

<template>
  <ul>
  <!-- 方法一-->
    <li v-for="todo in todos" :key="todo.id">
      {{ todo.text }}
    </li>
  </ul>
   <ul>
    <!-- 方法二-->
    <li v-for="(item,index) in todos" :key="index">
     {{item.id}} : {{ item.text }}
    </li>
  </ul>
</template>

动态显示对象

<script setup>
import { ref,reactive } from 'vue'

const myObject = reactive({
  title: 'How to do lists in Vue',
  author: 'Jane Doe',
  publishedAt: '2016-04-10'
})
</script>

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

嵌套实现

<script setup>
import { ref,reactive } from 'vue'

const items = reactive({
  title: ["hhh","nnn","mmm"],
  author: [1,2,3],
  publishedAt: [4,5,6]
})
</script>

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

更多详情,参见官网:列表渲染

相关推荐

  1. 被迫前端vuev-for列表渲染

    2024-03-29 20:10:01       19 阅读
  2. 被迫前端vuev-on事件监听

    2024-03-29 20:10:01       19 阅读
  3. Vue 循环渲染 v-for

    2024-03-29 20:10:01       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-29 20:10:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-29 20:10:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-29 20:10:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-29 20:10:01       20 阅读

热门阅读

  1. AcWing 1230. K倍区间

    2024-03-29 20:10:01       20 阅读
  2. go学习笔记

    2024-03-29 20:10:01       18 阅读
  3. TokenArtifact是什么

    2024-03-29 20:10:01       16 阅读
  4. 数据库的介绍、分类、作用和特点

    2024-03-29 20:10:01       21 阅读
  5. Windows系统服务器可以做RAID阵列吗?

    2024-03-29 20:10:01       17 阅读
  6. 代码随想录学习Day 20

    2024-03-29 20:10:01       16 阅读
  7. 求两个等长数组的中位数

    2024-03-29 20:10:01       19 阅读
  8. [LeetCode][233]数字 1 的个数

    2024-03-29 20:10:01       20 阅读
  9. js录制本地摄像头下载mp4和转file文件流

    2024-03-29 20:10:01       16 阅读
  10. 工具类(util.js)

    2024-03-29 20:10:01       16 阅读
  11. 使用Linux别名简化命令输入

    2024-03-29 20:10:01       19 阅读