更新時間:2020-07-20 來源:黑馬程序員 瀏覽量:
今天我們來聊一聊關(guān)于在vue中v-for指令中Key作用
key的特殊attribute主要用在Vue的虛擬DOM算法,在新舊nodes對比時辨識VNodes。如果不使用key, Vue會使用一 種最大限度減少動態(tài)元素并且盡可能的嘗試就地修改/復(fù)用相同類型元素的算法。而使用key時,它會基于key的變化重新排列元素順序,并且會移除key不存在的元素。
有相同父元素的子元素必須有獨特的key,重復(fù)的key會造成渲染錯誤。
在截圖中我們重點看紅線框選的話,接下來我們來使用個案例來演示一下
接下來我們來演示下我們添加水果后的效果
在添加商品之前將2號水果香蕉選中
然后我們輸入我們要添加的水果項,點擊添加按鈕,我們會發(fā)現(xiàn)我們之前選中的2號,選中的狀態(tài)變成了1號水果蘋果。
其實這個原因,可以參考在第一張截圖中提到關(guān)于key的描述 。如果不使用 key,Vue 會使用一種最大限度減少動態(tài)元素并且盡可能的嘗試就地修改/復(fù)用相同類型元素的算法,由于我們在之前沒有綁定key,vue在渲染的時候會盡可能少的更新減少動態(tài)元素的創(chuàng)建,就是復(fù)選框并沒有重新創(chuàng)建渲染,只是在復(fù)用復(fù)選框。
接下來我們綁定key屬性
我們發(fā)現(xiàn)之前選中的2號水果的選中狀態(tài)并沒有更新,由此我們得出在做循環(huán)渲染的時候,一定要將key屬性綁定,否則會造成不必要的渲染錯誤。
然后我們再選中2號水果葡萄,再來添加新的水果。
猜你喜歡:
黑馬程序員web前端課程
【AI設(shè)計】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運營】深圳跨境電商運營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達13500元
2025-09-19【AI運維】鄭州運維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19【AI大模型開發(fā)-Python】畢業(yè)33個工作日,就業(yè)率已達到94.55%,班均薪資20763元
2025-09-19【AI智能應(yīng)用開發(fā)-Java】畢業(yè)當(dāng)天offer率91%,薪資1W+占比54.2%,班級均薪12k+
2025-09-19