Vue中的key到底有什麼用

2021-10-06 16:11:28 字數 492 閱讀 7988

key是為vue中的vnode標記的唯一id,通過這個key,我們的diff操作可以更準確、更快速。

diff演算法的過程中,先會進行新舊節點的首尾交叉對比,當無法匹配的時候會用新節點的key與舊節點進行比對,然後找出差異。

diff過程可以概括為:oldch和newch各有兩個頭尾的變數startidx和endidx,它們的2個變數相互比較,一共有4種比較方式。如果4種比較都沒匹配,如果設定了key,就會用key進行比較,在比較的過程中,變數會往中間靠,一旦startidx>endidx表明oldch和newch至少有乙個已經遍歷完了,就會結束比較。這四種比較方式就是首、尾、舊尾新頭、舊頭新尾.

響應式函式:

pop、push、shift、unshift、splice、sort、reverse

通過索引值改變陣列中的元素不會觸發頁面更新,可以通過vue內部實現的vue.set(改變的陣列,索引值,修改後的值)實現

介面到底有什麼用

我們定義乙個介面 public inte ce ibark 再定義乙個類,繼承於ibark,並且必需實現其中的bark 方法 public class dog ibark public void bark 然後,宣告dog的乙個例項,並呼叫bark 方法 dog 旺財 new dog 旺財.bark...

學歷到底有什麼用

每年都會有不少想考研又在猶豫的學弟學妹問我,考研有用嗎?我也跟不少高學歷的朋友聊過,這個 學歷 到底有什麼用。乙個有趣的現象是,一般上了研的,都喜歡自嘲說,學歷啊 名校啊什麼的,都是浮雲。或者大呼後悔,說想到又 浪費 了自己幾年的光陰,很是悔不當初。問起當年考研的原因,多半是興趣所致,或是覺得自己的...

hashCode到底有什麼用?

hashcode概念 hashcode是jdk根據物件的位址算出來的乙個int數字,即物件的雜湊碼值,代表了該物件在記憶體中的儲存位置。我們都知道hashcode 方法是頂級類object類的提供的乙個方法,所有的類都可以進行對hashcode方法重寫。我們也知道在比較乙個類是否相同時往往會重寫eq...