vue框架v-for中key的作用及使用

代码块
html代码

<div>
            <label>Id
                        <input type="text" v-model="id">
                </label>
            <label>Name
                        <input type="text" v-model="name">
               </label>
            <label>
                    <input type="button" value="添加" @click="click">
            </label>
</div>

vue代码

  var vm = new Vue({
            el: "#app",
            data: {
                id: '',
                name: '',
                list3: [{
                    id: 1,
                    name: '嬴政'
                }, {
                    id: 2,
                    name: '赵高'
                }, {
                    id: 3,
                    name: '李斯'
                }]
            },
            methods: {
                click() {
                    this.list3.unshift({
                        id: this.id,
                        name: this.name
                    })
                }
            }
        })

绑定与未绑定key的代码区别

<!-- 这是绑定的 -->
 <p v-for="item in list3" v-bind:key="item.id">
     <input type="checkbox"> {{item.id}}----{{item.name}}
 </p>        
<!-- 这是未绑定的 -->
 <p v-for="item in list3">
     <input type="checkbox"> {{item.id}}----{{item.name}}
 </p>     

实际操作
未点击添加状态
在这里插入图片描述
未使用key的结果
在这里插入图片描述
使用key的结果
在这里插入图片描述
解释说明
1、unshift()是在数组头部插入数据,两组都在数组中插入了。
2、但是前面的复选框发生了改变,未使用key的由3变成了2。
3、这是由于浏览器只记住了索引为3的复选框打钩,当头部插入数据后,原索引2就变为了3.。
4、当使用key后,每一组数据都有唯一的标识,就不会搞错了。
key使用时注意事项
使用key必须绑定 v-bind,且里面的数据,必须为数值类型或字符串类型。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值