天天看點

關于vue中v-for中的必須寫key的原因【重要】

關于vue中v-for中的必須寫key的原因【重要】

包含 v-for的标簽中必須擁有一個屬性key。

關于vue中v-for中的必須寫key的原因【重要】

key應用在vue的虛拟DOM算法。

關于vue中v-for中的必須寫key的原因【重要】

每一個結構擁有唯一的辨別。在​

​react​

​中直接報錯。

關于vue中v-for中的必須寫key的原因【重要】

【重要,面試中喜歡問】

key給每個節點一個辨別,就像人類社會的身份證号碼一樣。每個資料的id不由我們維護,在伺服器中生成。

key是vue内部使用的,是以生成真實的DOM樹的時候,不會再顯示。沒有加上key的時候,代碼運作的效率更低。我們也不使用index作為key,比如在周遊數組的時候,我們在數組的最前面加入一個對象的話,就會出現錯誤。我們使用key.id作為資料的唯一辨別。

關于vue中v-for中的必須寫key的原因【重要】

對比算法依賴key。對比虛拟DOM的内容結構,對比之後不一緻,也就是不能複用,是以我們隻能使用新的虛拟DOM,生成全新的真實DOM。對比之後發現一緻,我們曾經使用舊的虛拟DOM轉化成了真實DOM,是以我們直接複用之前生成的真實DOM。但是在此之前我們在真實的DOM樹中輸入了内容,是以就會出現頁面的内容混亂。

關于vue中v-for中的必須寫key的原因【重要】

如果我們使用index做索引值,在我們打亂資料的順序以後,頁面顯示的DOM就會發生錯亂。而且我們原有的DOM很多也沒有複用,而是重新生成。

關于vue中v-for中的必須寫key的原因【重要】

我們使用唯一的id作為key。舊有的生成的真實的DOM樹隻需要複用,隻需要生成新增的元素的真實DOM樹。

如果我們在使用v-for清單的時候,沒有添加key,vue就會預設将資料的index值作為這一唯一辨別。

【總結】:

關于vue中v-for中的必須寫key的原因【重要】

繼續閱讀