Vue中key的具體使用
一、v-for中key的作用
給節(jié)點(diǎn)進(jìn)行一個(gè)標(biāo)識(shí),類(lèi)似于身份證號(hào)。
1-1、需求1:
點(diǎn)擊按鈕,在<li>的最前面添加一個(gè)老劉的信息

<body>
<div id="root">
<h1>人員信息</h1>
<button @click.once="add">點(diǎn)擊添加老王</button>
<ul>
<li v-for="(p, index) in persons" ::key="index">
{{p.name}}-{{p.age}}
<input type="text">
</li>
</ul>
</div>
<script>
new Vue({
el:'#root',
data:{
persons:[
{id:'001', name:'張三', age: 18},
{id:'002', name:'李四', age: 20},
{id:'003', name:'王五', age: 10}
]
},
methods: {
add(){
const p = {id:'004', name:'老王', age: 40};
// 將數(shù)據(jù)往數(shù)組前面加
this.persons.unshift(p);
}
},
})
</script>
</body>因?yàn)椋琸ey被vue內(nèi)部在用。


1-2、key="index"的問(wèn)題:
1、效率不高
2、文本框錯(cuò)亂

1-3、遍歷列表的時(shí)候key的作用

用戶(hù)操作的都是真實(shí)的DOM。

虛擬DOM做對(duì)比算法的時(shí)候,拿的是兩邊的key做的對(duì)比。
若是將老王加在王五的后面,則不存在該問(wèn)題。
所以,當(dāng)對(duì)數(shù)據(jù)進(jìn)行了破壞順序的操作時(shí),key="index"有問(wèn)題!
張三、李四、王五都是新生成的,不是從左邊已經(jīng)生成的真實(shí)DOM中復(fù)用的,所以效率低
1-4、解決方式:key="p.id"

1-5、v-for遍歷沒(méi)有key
當(dāng)v-for遍歷沒(méi)有key的時(shí)候,vue自動(dòng)將遍歷時(shí)候的索引值(index)作為key了。
二、小結(jié)


到此這篇關(guān)于Vue中key的具體使用的文章就介紹到這了,更多相關(guān)Vue key內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vuex 在Vue 組件中獲得Vuex 狀態(tài)state的方法
今天小編就為大家分享一篇Vuex 在Vue 組件中獲得Vuex 狀態(tài)state的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
vue實(shí)現(xiàn)圖片按比例縮放問(wèn)題操作
這篇文章主要介紹了vue實(shí)現(xiàn)圖片按比例縮放問(wèn)題操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
詳解win7 cmd執(zhí)行vue不是內(nèi)部命令的解決方法
這篇文章主要介紹了詳解win7 cmd執(zhí)行vue不是內(nèi)部命令的解決方法的相關(guān)資料,這里提供了解決問(wèn)題的詳細(xì)步驟,具有一定的參考價(jià)值,需要的朋友可以參考下2017-07-07
vue中echarts關(guān)系圖動(dòng)態(tài)增刪節(jié)點(diǎn)以及連線(xiàn)方式
這篇文章主要介紹了vue中echarts關(guān)系圖動(dòng)態(tài)增刪節(jié)點(diǎn)以及連線(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
關(guān)于在vue中實(shí)現(xiàn)過(guò)渡動(dòng)畫(huà)的代碼示例
Vue是一款流行的前端框架,支持過(guò)渡動(dòng)畫(huà)的實(shí)現(xiàn)是其中的一項(xiàng)重要特性,在Vue中,使用過(guò)渡動(dòng)畫(huà)可以為用戶(hù)提供更加友好的用戶(hù)體驗(yàn),下面我將為大家介紹一下子如何在Vue中實(shí)現(xiàn)過(guò)渡動(dòng)畫(huà),需要的朋友可以參考下2023-06-06
Vue.js實(shí)戰(zhàn)之使用Vuex + axios發(fā)送請(qǐng)求詳解
這篇文章主要給大家介紹了關(guān)于Vue.js使用Vuex與axios發(fā)送請(qǐng)求的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-04-04

