4.vue常见指令v-for的基本使用

v-for是vue的循环指令,它的作用是遍历数组(对象)的每一个值

<body>
    <div id="app">
        <ul>
            <li v-for="item in arr">
                {{item}}
            </li>
        </ul>
    </div>
    <script src="vue.js"></script>
    <script>
        var vue=new Vue({
            el:"#app",
            data:{
               i:0,
               arr:[
                   '苹果',
                   '橘子',
                   '香蕉',
                   '🍓'
               ]
            },
            methods:{
            
            }
        })
    </script>
</body>

v-for还有index和key属性

<li v-for="(item,index) in arr" :key="index">{{index}}--{{item}}</li>

item指的是被遍历数组(对象)的每一个值,item的命名不是规定的,可以自定义命名

index指的是每一项被遍历的值下标索引值

key是用来给每一项值加元素标识,作用是为了区分元素,为了实现最小量的更新

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

            data:{
               obj:{
                   name:'小明',
                   age:'17',
                   heifht:'175cm',
                   sex:'男',
                   hobby:'打篮球'
               }
            },

与数组不同的是,此时key代表对象中的key值,value代表的是对象中的value值。

上面三个参数的含义分别为:

item表示对象的内容,
key表示的是对象key键值名称,
index表示的是当前obj的下标索引值

实际工作中我们使用V-for遍历JSON多一些

var vue=new Vue({
            el:"#app",
            data:{
               arr:[
                      {name:'小明',age:'17',height:'168cm'},
                      {name:'小红',age:'17',height:'208cm'},
                      {name:'小黄',age:'18',height:'188cm'},
                      {name:'小吕',age:'20',height:'128cm'}
               ]
            },
        })
<table>
            <tr>
                <th>姓名</th>
                <th>年龄</th>
                <th>身高</th>
            </tr>
            <tr v-for="(item,index) in arr">
                <!---Json中的姓名-->
                <td>{{item.name}}</td>
                <!---Json中的年龄-->
                <td>{{item.age}}</td>
                <!---Json中的身高-->
                <td>{{item.height}}</td>
            </tr>
</table>

结果

在这里插入图片描述此外,v-for可以嵌套

<body>
    <div id="app">
        <table>
            <tr v-for="i in number":ley="i">
                <td v-for="j in i">
                    {{i}}*{{j}}={{i*j}}
                </td>
            </tr>
        </table>
    </div>
    <script src="vue.js"></script>
    <script>
        var vue=new Vue({
            el:"#app",
            data:{
               number:[1,2,3,4,5,6,7,8,9],
            },
        })
    </script>
</body>

使用v-for需要注意的情况:

  1. v-for遍历出来的不是数据,而是元素
  2. 如果使用item与index的时候一定要使用括号包裹起来

(item,index) in arr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值