vue中key属性的作用

在列表渲染时使用key属性

当Vue.js用v-for正在更新已渲染过的元素列表时,它默认用“就地复用”策略,如果数据项的顺序被改变,Vue将不会移动DOM元素来匹配数据项的顺序,而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素。

<div v-for="num in numbers">
  {{num}}
</div>

numbers的值原来是[1,2,3],现在变为[0,1,2,3],在没有key属性的情况下,渲染输出的更新步骤:

原先内容为1的div元素内容变成0,原先内容为2的div元素内容变成2,...,最后新增加一个div元素。

当使用key属性后,渲染变为:新增加一个div,它的内容为0,并将它插入原先内容0的元素之前。

在有了一key属性之后,vue会记住元素们的顺序,并根据这个顺序在适当的位置插入/删除元素来完成更新,这种方法比没有key属性的效率高。

使用key属性强制替换元素

key属性还有另外一种使用方法,即强制替换元素,因为当key改变时,vue认为一个新的元素产生,从而会新插入一个元素来替换掉原来的元素。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值