您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“vue for循環中key的作用是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“vue for循環中key的作用是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
無論是react還是vue框架,在列表渲染時都會提示或者要求每個列表項使用唯一的key。這個key有什么作用?如何正確設置value呢?
這道題目實際考察的是對虛擬dom對象中diff算法的理解。
diff算法的本質是:找出新舊兩個虛擬dom對象之間的差異,目的是盡可能復用節點,提高性能。
key的主要作用就是在diff算法中判斷新舊節點是否是同一類型,從而復用與新節點對應的老節點,節約性能的開銷
export function isSameVNodeType(n1: VNode, n2: VNode): boolean {
return n1.type === n2.type && n1.key === n2.key
}
舉個反面的例子理解下,我們經常使用數組的index作為列表的key使用,看下具體的流程哈
如果是順序增加元素,順序不會亂,所以不會造成影響,可以正常使用;
如果存在列表刪除、元素間對換的話,因為key(index)是一樣的,新節點順序和老節點順序仍然是從前往后一一對應的,但是通過對節點的內容進行判斷,元素內容實際已經變化,是需要一次內容更新的,這就造成了一次性能開銷。在chrome調試工具中是可以觀察到節點內容變化的,有興趣的可以嘗試下。
讀到這里,這篇“vue for循環中key的作用是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。