“我苦心鍛煉了三年,我變禿了,也變強了。” —— 琦玉老師 0x00 大綱 0x01 前言 四個月前,我在《你是來找茬的吧?對自己的博客進行調優》一文中探討了以博客的使用者而不是開發者身份去進行優化,究竟能做到何種程度的問題。當時以 Edge 瀏覽器的開發者工具里的 lighthouse 評分和載入 ...
1.監測機制的改變
3.0 將帶來基於代理 Proxy 的 observer 實現,提供全語言覆蓋的反應性跟蹤。消除了 Vue 2 當中基於 Object.defineProperty 的實現所存在的很多限制。
2.只能監測屬性,不能監測對象
- 檢測屬性的添加和刪除;
- 檢測數組索引和長度的變更;
- 支持 Map、Set、WeakMap 和 WeakSet。
3.模板
作用域插槽,2.x 的機制導致作用域插槽變了,父組件會重新渲染,而 3.0 把作用域插槽改成了函數的方式,這樣只會影響子組件的重新渲染,提升了渲染的性能。同時,對於 render 函數的方面,vue3.0 也會進行一系列更改來方便習慣直接使用 api 來生成 vdom 。
4.對象式的組件聲明方式
vue2.x 中 的 組 件 是 通 過 聲 明 的 方 式 傳 入 一 系 列 option, 和TypeScript 的結合需要通過一些裝飾器的方式來做,雖然能實現功能,但是比較麻煩。3.0 修改了組件的聲明方式,改成了類式的寫法,這樣使得和TypeScript 的結合變得很容易
5.其它方面的更改
支持自定義渲染器,從而使得 weex 可以通過自定義渲染器的方式來擴展,而不是直接 fork 源碼來改的方式。支持 Fragment(多個根節點)和 Protal(在 dom 其他部分渲染組建內容)組件,針對一些特殊的場景做了處理。基於 tree shaking 優化,提供了更多的內置功能。
本文來自博客園,作者:ChatGPT愛好者,轉載請註明原文鏈接:https://www.cnblogs.com/chatgpt6/p/17321465.html