vue中報(bào)錯(cuò)Duplicate?keys?detected:'1'.?This?may?cause?an?update?error的解決方法
報(bào)錯(cuò)截圖:
報(bào)錯(cuò)原因:
通過上圖的報(bào)錯(cuò)信息我們不難看出,報(bào)錯(cuò)的主要原因出現(xiàn)在 key
值上,報(bào)錯(cuò)的意思大概是檢測(cè)到重復(fù)的 key
值,通俗來講就是你的 key
值不是唯一的。
解決方案:
問題的根源找到了,解決起來就會(huì)很簡(jiǎn)明扼要了,其實(shí)項(xiàng)目中出現(xiàn)這種報(bào)錯(cuò)多為以下這兩種情況:
第一種情況:
for
循環(huán)的 key
值不為唯一性。
<template> <div> <div v-for="(item,index) in listData" :key="item.idx">{{item.name}}</div> </div> </template> <script> export default { data() { return { listData: [ { idx: "0", name: "數(shù)據(jù)1" }, { idx: "0", name: "數(shù)據(jù)2" }, { idx: "1", name: "數(shù)據(jù)3" }, ], }; }, }; </script>
第二種情況:
頁(yè)面上有兩個(gè) for
循環(huán)同一個(gè)數(shù)組,導(dǎo)致 key
重復(fù)。
<template> <div> <div v-for="(item,index) in listData" :key="item.idx">{{item.name}}</div> <div v-for="(item,index) in listData" :key="item.idx">{{item.name}}</div> </div> </template> <script> export default { data() { return { listData: [ { idx: "0", name: "數(shù)據(jù)1" }, { idx: "1", name: "數(shù)據(jù)2" }, { idx: "2", name: "數(shù)據(jù)3" }, ], }; }, }; </script>
以上即為兩種常見的引起報(bào)錯(cuò)的情況,下面教你如何解決這個(gè)問題。
<template> <div> <div v-for="(item,index) in listData" :key="index">{{item.name}}</div> </div> </template> <script> export default { data() { return { listData: [ { idx: "0", name: "數(shù)據(jù)1" }, { idx: "0", name: "數(shù)據(jù)2" }, { idx: "1", name: "數(shù)據(jù)3" }, ], }; }, }; </script>
第一種情況我們可以直接將 key
值指定為 for
循環(huán)的 index
值,這樣即可解決 key
重復(fù)的問題。
<template> <div> <div v-for="(item,index) in listData" :key="item.idx + 1">{{item.name}}</div> <div v-for="(item,index) in listData" :key="item.idx">{{item.name}}</div> </div> </template> <script> export default { data() { return { listData: [ { idx: "0", name: "數(shù)據(jù)1" }, { idx: "1", name: "數(shù)據(jù)2" }, { idx: "2", name: "數(shù)據(jù)3" }, ], }; }, }; </script>
第二種情況可以看到我們將第一個(gè) for
循環(huán)中的 key
值拼接了一個(gè)數(shù)字,這樣兩個(gè) for
循環(huán)中的 key
值都具有唯一性,故不會(huì)報(bào)錯(cuò)。其實(shí)不只是數(shù)字,字符串或者其它的標(biāo)記都可以區(qū)別 key
值得唯一性,感興趣的同學(xué)可以下去試一試。
總結(jié)
到此這篇關(guān)于vue中報(bào)錯(cuò)Duplicate keys detected:‘1‘. This may cause an update error解決的文章就介紹到這了,更多相關(guān)vue報(bào)錯(cuò)Duplicate keys detected內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue監(jiān)聽一個(gè)數(shù)組id是否與另一個(gè)數(shù)組id相同的方法
今天小編就為大家分享一篇Vue監(jiān)聽一個(gè)數(shù)組id是否與另一個(gè)數(shù)組id相同的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-09-09Vue 項(xiàng)目部署到服務(wù)器的問題解決方法
本篇文章主要介紹了Vue 項(xiàng)目部署到服務(wù)器的問題解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12vue全局引入公共的scss和@mixin與@include的使用方式
這篇文章主要介紹了vue全局引入公共的scss和@mixin與@include的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02vue-cli3項(xiàng)目在IE瀏覽器打開兼容問題及解決
這篇文章主要介紹了vue-cli3項(xiàng)目在IE瀏覽器打開兼容問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08Vue 組件組織結(jié)構(gòu)及組件注冊(cè)詳情
這篇文章主要介紹的是Vue 組件組織結(jié)構(gòu)及組件注冊(cè),為了能在模板中使用,這些組件必須先注冊(cè)以便 Vue 能夠識(shí)別。這里有兩種組件的注冊(cè)類型:全局注冊(cè)和局部注冊(cè)。至此,我們的組件都只是通過 Vue.component 全局注冊(cè)的,文章學(xué)詳細(xì)內(nèi)容,需要的朋友可以參考一下2021-10-10Vue.Draggable實(shí)現(xiàn)交換位置
這篇文章主要為大家詳細(xì)介紹了Vue.Draggable實(shí)現(xiàn)交換位置,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04vue 封裝 Adminlte3組件的實(shí)現(xiàn)
這篇文章主要介紹了vue 封裝 Adminlte3組件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03