Vue中使用key的作用
key的作用是為了在diff算法執行時更快的找到對應的節點,提高diff速度
key具有唯一性
vue中循環需加 :key=“唯一標識” ,唯一標識可以使item里面id index 等,因為vue組件高度復用增加key可以標識組件的唯一性,為了更好地區別各個組件key的作用主要是為了高效的更新虛擬DOM
不帶有key,並且使用簡單的模板,基於這個前提下,可以更有效的復用節點,diff速度來看也是不帶key更加快速的,因為帶key在增刪節點上有耗時。這就是vue文檔所說的默認模式。但是這個並不是key作用,而是沒有key的情況下可以對節點就地復用,提高性能。這種模式會帶來一些隱藏的副作用,比如可能不會產生過渡效果,或者在某些節點有綁定數據(表單)狀態,會出現狀態錯位。VUE文檔也說明了。還有就是key的作用是為了在diff算法執行時更快的找到對應的節點,提高diff速度,但是這個含有爭議。