【前端笔记】十一、v-for循环普通数组、对象数组、对象、数字

本文详细介绍了Vue中的v-for指令,包括如何循环普通数组、对象数组、对象属性,以及如何遍历数字。同时,展示了在组件中使用v-for的注意事项,强调了在2.2.0+版本中必须使用key属性及其用法。通过实例代码,阐述了v-for在不同场景下的应用。
摘要由CSDN通过智能技术生成

Vue指令之v-for

v-for可以实现循环,语法格式大概为v-for=“item in list”

in后面可以放普通数组、对象数组、对象、数字

1、循环普通数组

v-for="(item,i) in list"

示例:
数据准备,在vue实例的data中新增一个list数组

data: {
	list: [1, 2, 3, 4, 5]
}

遍历数组:

<ul>
	<li v-for="(item,i) in list">索引:{{i}}---每一项:{{item}}</li>
</ul>

结果:
在这里插入图片描述

2、循环对象数组

v-for="(item,i) in userList"

示例:
数据准备,在vue实例的data中新增一个userList对象数组

data: {
	userList: [
		{id: 1,name: "zs1",age: 21}, 
		{id: 2,name: "zs2",age: 22}, 
		{id: 3,name: "zs3",age: 23}, 
		{id: 4,name: "zs4",age: 24},
		{id: 5,name: "zs5",age: 25}
	]
}

遍历数组:

<!-- 2、循环对象数组 -->
        <ul>
            <li v-for="(item,i) in userList">索引:{{i}}---ID:{{item.id}}---姓名:{{item.name}}---年龄:{{item.age}}</li>
        </ul>

结果:
在这里插入图片描述

3、循环对象中的属性

v-for="(val,key,i) in userList[0]"

遍历:

<div v-for="(val,key,i) in userList[0]">i: {{i}}---键:{{key}}---值:{{val}}</div>

结果:
在这里插入图片描述
注意:
在遍历对象身上的键值对时,除了有 val key 键值对,在第三个位置还有一个索引

4、循环数字

v-for=“i in 10”

遍历数字:

<p v-for="i in 10">第{{i}}个p标签</p>

结果:
在这里插入图片描述
注意:
v-for迭代数字时,值从1开始

5、在组件中使用v-for

在2.2.0+的版本里,当在组件中使用v-for时:

  • 必须使用key属性
  • 必须使用v-bind指定key的值
  • key的属性只能是string或number

示例:
数据准备,在vue实例的data中新增一个userList对象数组

<div>
	<label>Id:<input type="text" v-model="id" style="width: 50px;"></label>
	<label>Name:<input type="text" v-model="name"style="width: 80px;"></label>
	<label>Age:<input type="number" v-model="age"style="width: 50px;"></label>
	<input type="button" value="添加" @click="add">
</div>
<div v-for="item in userList" v-bind:key="item.id">
	<!-- 注意:在2.2.0+的版本里,当在组件中使用v-for时,必须使用key属性,必须使用v-bind指定key的值,key的属性只能是string或number -->
	<input type="checkbox" name="" id="">&nbsp;&nbsp;&nbsp;{{item.id}}--------------{{item.name}}---------{{item.age}}
</div>

结果:
在这里插入图片描述
在这里插入图片描述


总览:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./lib/vue.js"></script>
</head>

<body>
    <div id="app">
        <!-- v-for迭代数组 -->
        <!-- in后面可以放普通数组、对象数组、对象、数字 -->
        <!-- 1、循环普通数组 -->
        <ul>
            <li v-for="(item,i) in list">索引:{{i}}---每一项:{{item}}</li>
        </ul>

        <!-- 2、循环对象数组 -->
        <ul>
            <li v-for="(item,i) in userList">索引:{{i}}---ID:{{item.id}}---姓名:{{item.name}}---年龄:{{item.age}}</li>
        </ul>

        <!-- 3、迭代对象中的属性 -->
        <!-- 注意:在遍历对象身上的键值对时,除了有 val key 键值对,在第三个位置还有一个索引 -->
        <div v-for="(val,key,i) in userList[0]">i: {{i}}---键:{{key}}---值:{{val}}</div>

        <!-- 4、迭代数字 -->
        <!-- v-for迭代数字时,值从1开始 -->
        <p v-for="i in 10">第{{i}}个p标签</p>


        <div>
            <label>Id:<input type="text" v-model="id" style="width: 50px;"></label>
            <label>Name:<input type="text" v-model="name"style="width: 80px;"></label>
            <label>Age:<input type="number" v-model="age"style="width: 50px;"></label>
            <input type="button" value="添加" @click="add">
        </div>
        <div v-for="item in userList" v-bind:key="item.id">
            <!-- 注意:在2.2.0+的版本里,当在组件中使用v-for时,必须使用key属性,必须使用v-bind指定key的值,key的属性只能是string或number -->
            <input type="checkbox" name="" id=""> &nbsp;&nbsp;&nbsp;{{item.id}}--------------{{item.name}}---------{{item.age}}
        </div>



    </div>

    <script>
        //创建Vue实例,得到ViewModel
        var vm = new Vue({
            el: "#app",
            data: {
                list: [1, 2, 3, 4, 5],
                id: "",
                name: "",
                age: 0,
                userList: [{
                    id: 1,
                    name: "zs1",
                    age: 21
                }, {
                    id: 2,
                    name: "zs2",
                    age: 22
                }, {
                    id: 3,
                    name: "zs3",
                    age: 23
                }, {
                    id: 4,
                    name: "zs4",
                    age: 24
                }, {
                    id: 5,
                    name: "zs5",
                    age: 25
                }]
            },
            methods: {
                add() {
                    this.userList.push({
                        id: this.id,
                        name: this.name,
                        age: this.age
                    })
                }
            }
        });
    </script>

</body>

</html>

参考:v-for指令的四种使用方式

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会为你介绍Python中的数组。 在Python中,数组是一种存储元素的数据结构。与列表不同,数组是固定大小的,且元素类型必须相同。 要使用数组,需要先导入array模块。下面是一个创建数组的示例: ```python import array as arr # 创建一个整数类型的数组 a = arr.array('i', [1, 2, 3, 4, 5]) # 打印数组 print(a) ``` 在上面的示例中,我们使用了`array`模块创建了一个整数类型的数组,并初始化了它。要注意的是,第一个参数是一个字符,用于指定数组元素的类型。在本例中,我们使用了`i`,表示整数类型。 除了整数类型之外,还有其他类型可以使用,如`f`表示浮点数,`d`表示双精度浮点数,`b`表示布尔类型等。 在数组中,可以使用索引来访问元素,如下所示: ```python import array as arr # 创建一个整数类型的数组 a = arr.array('i', [1, 2, 3, 4, 5]) # 访问数组中的第一个元素 print(a[0]) # 修改数组中的第二个元素 a[1] = 6 # 打印数组 print(a) ``` 在上面的示例中,我们使用了索引`0`来访问数组中的第一个元素,使用索引`1`来修改数组中的第二个元素。 除了使用索引来访问和修改元素外,还可以使用循环来遍历数组中的所有元素,如下所示: ```python import array as arr # 创建一个整数类型的数组 a = arr.array('i', [1, 2, 3, 4, 5]) # 遍历数组中的所有元素 for i in a: print(i) ``` 在上面的示例中,我们使用了`for`循环来遍历数组中的所有元素,并打印每个元素的值。 这就是Python中数组的基本用法。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值