當前位置:成語大全網 - 書法字典 - Vue字典排序

Vue字典排序

Object.defineProperty()可以監聽數組,key作為角標記,value作為元素值。

但是在插入、刪除和排序數組時,數據元素的位置會移動,導致每個元素的getter和setter頻繁調用,嚴重影響性能!因此,Vue2放棄使用監聽數組!

Object.defineProperty()的真正問題是您無法監視初始化期間未設置的鍵值!

這就是為什麽Vue2必須重寫array的方法並提供Vue.set等API的原因。

此外,Object.defineProperty()需要在開始時初始化遞歸遍歷和循環監視,這也是性能瓶頸之壹。

正是因為這些歷史問題,Vue3才會存在。

Object.defineProperty()是重寫對象的關鍵,而Proxy只攔截讀寫操作。

Vue3使用lazy proxy解決深度嵌套問題,只需要遍歷第壹層的屬性!

當插入、刪除和排序數組時,代理getter/setter仍然會被多次觸發。那麽Vue3做了哪些優化呢?