當Vue用 v-for 正在更新已渲染過的元素列表是,它默認用“就地復用”策略。如果數據項的順序被改變,Vue將不是移動DOM元素來匹配數據項的改變,而是簡單復用此處每個元素,並且確保它在特定索引下顯示已被渲染過的每個元素。
為了給Vue一個提示,以便它能跟蹤每個節點的身份,從而重用和重新排序現有元素,你需要為每項提供一個唯一 key 屬性。key屬性的類型只能為 string或者number類型。
示例
<!--注意:v-
for
循環的時候,key屬性只能使用number或string -->
<!--注意:key使用的時候,必須使用v-bind綁定屬性的形式,指定key的值 -->
<!-- 在組件中,使用 v-
for
循環的時候,或者在一些特殊情況中,如果v-
for
有問題
必須在使用v-
for
的同時,指定唯一的 字符串/數字 類型:key 值-->
<p v-for="item in list" :key="item.id"> <input type="checkbox"/> {{item.id}}--{{item.name}} </p>
總結
key的作用主要是為了高效的更新虛擬DOM!!!