精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Vue 3 已經 5 年了,為什么還有公司死守 Vue 2?

開發
咱們先來看一組數據,通過 @vue/compiler-sfc(代表 Vue3)? vs vue-template-compiler(代表 Vue2) 來看下雙方的下載量(PS:因為 Vue3 合并到主包后,無法直接區分 Vue3 和 Vue2 的下載量)

Vue 3 從 2020 年發布,到現在已經正式發布 5 年了,為什么還有那么多公司依舊在死守 Vue 2?

咱們先來看一組數據,通過 @vue/compiler-sfc(代表 Vue3) vs vue-template-compiler(代表 Vue2) 來看下雙方的下載量(PS:因為 Vue3 合并到主包后,無法直接區分 Vue3 和 Vue2 的下載量)

圖片

通過數據我們可以看出 雖然 @vue/compiler-sfc(代表 Vue3) 的下載量已經已經遠遠超過了 vue-template-compiler(代表 Vue2)。但是 依然有大約 25% 左右的下載量屬于 vue-template-compiler(代表 Vue2)。

這就證明市面上在運行的 Vue 項目中,依然有 至少四分之一 使用的是 Vue2。

那么此時問題就來了:為什么公司寧愿死守 Vue 2,不愿意遷移到 Vue 3?

1. “技術債” 太多,項目老且龐大

很多的 政企項目 老項目通常規模都比較龐大,上千甚至數千個頁面。遷移意味著:

  • 代碼要大改:Options API 寫法和 Composition API 寫法是有的,幾乎不能無縫遷移。
  • 生態要替換:Element UI、vuex、一些定制化的第三方庫,全都得換成對應的 Vue 3 版本。
  • 團隊要學習:很多老員工只熟悉 Vue 2,遷移要有培訓成本。

動靜太大。成功了 Leader 沒什么業績,一旦出了問題 Leader 還得背鍋。 你想想,誰會推動這個事情?

2. 公司盈利能力有限,新功能優先級高于技術升級

我們要知道技術公司,并不是只有大廠。中、小、微 公司的占比可以達到 98% 以上。

而這些公司的老板們最怕的一件事就是:“原來跑得好好的項目,升級后突然一堆 bug。”

Vue 3 確實更先進,但對于企業來說,穩定性 > 技術新潮。如果業務沒有強烈的驅動(比如:新業務 Vue2 做不了),一般不會貿然升級。

那么都聊到這里了,接下來咱們就來看下面試中常見的 Vue 問題

1. Vue 2 和 Vue 3 的響應式原理區別

這是屬于一個面試中的超常見問題,但是很多同學反而回答的并不好。大部分同學只會說:“Vue2 是 Object.defineProperty。Vue3 是 Proxy” ,然后就 沒有了....

在現在這么卷的面試場景中,這樣肯定是 不行的呀

Vue 2:defineProperty + 依賴收集

Vue 2 是“攔屬性”的做法(Object.defineProperty 給每個屬性掛 getter/setter)

  • 初始化時把對象 逐個屬性 轉成 getter/setter。讀時“收集依賴”,寫時“觸發依賴”。
  • 深度監聽要 遞歸遍歷,對象越大,初始化越慢。
  • 新增/刪除屬性感知不到,要 Vue.set(obj, 'x', v) / Vue.delete(obj, 'x')。
  • 數組是老大難:改長度、用下標改值這種改法,監聽不到;框架內部通過 包一層原型 去重寫會變更的數組方法(push/splice/sort……)來曲線救國。
// Vue 2 下的老坑
vm.arr[1] = 100     // 不觸發更新
vm.arr.length = 0   // 不觸發更新
vm.obj.newKey = 1   // 不觸發更新
// 需要:
this.$set(vm.arr, 1, 100)
this.$set(vm.obj, 'newKey', 1)
Vue 3:Proxy + WeakMap(桶) + effect

Vue 3 是“攔對象”的做法(Proxy 一把梭,讀寫都能劫持,還能知道讀的是哪個鍵、做的是什么操作)。

  • 用 Proxy 直接 劫持對象層級,不需要挨個屬性包 getter/setter。
  • 依賴收集結構是一個“大倉庫”:WeakMap(target) -> Map(key) -> Set(effects);讀用 track,寫用 trigger。
  • 新增/刪除屬性、數組下標、length 改動、Map/Set 等原生集合,統統能感知。
  • 可以“按操作類型”觸發更精準(比如 add/delete/clear 對 Map/Set 的影響范圍不同)。
// Vue 3 下這些都能更新
state.arr[1] = 100
state.arr.length = 0
state.obj.newKey = 1
state.set.add(1)
state.map.set('a', 1)

然后給大家一個 一句話面試背誦版


Vue 2 用 defineProperty 劫持“屬性”,需要深遞歸,新增/刪除屬性和數組下標/length 改動監聽不到,只能靠 set/delete 和重寫數組變更方法補救;

Vue 3 用 Proxy 劫持“對象”,依賴用 WeakMap -> key -> effects 精確追蹤,支持 Map/Set 等集合,reactive/ref/computed 基于 effect 與調度器實現,可精細觸發、可自定義調度,性能和心智負擔都更優。

要是面試官繼續追問 “為什么 Vue 3 還能知道我改的是 arr.length?”

你就補一句:因為 Proxy 的 set 能拿到 目標、鍵、值,key === 'length' 的時候做專門的觸發邏輯,這在 Vue 2 的 getter/setter 里拿不到這么完整的上下文。

2. Vue 2 和 Vue 3 的 Diff 算法的區別

這個也是常見問題,但是這里會涉及到 算法,很多同學可能對算法并不是很熟悉。

因此我先把結論給大家拋出來:


Vue 2 的子節點 diff 更像“四指針+搬磚”(雙端指針法,必要時建一張 key→index 表,按匹配到哪就把哪兒搬過去);


Vue 3 的子節點 diff 是“先粗篩再精算”(兩頭同步 + 中間一坨一次性掛載/卸載;真要挪位置時再用 LIS 最長遞增子序列 算出最少移動)。

Vue 2:雙端指針
  • 針對 keyed children,用四個游標在老/新列表兩頭對沖:oldStart?newStart、oldEnd?newEnd,還會嘗試交叉匹配(oldStart ? newEnd、oldEnd ? newStart)。
  • 都沒對上時,再用一張 key→index 的表在老列表里定位“同 key 的舊節點”,找到了就把這個舊 DOM 挪到合適位置。
  • 沒 key 或沒找到,就當成新節點 創建 DOM。
  • 這個策略的好處是實現簡單、無需昂貴的預處理;但在“局部打散重排”的場景里,移動次數不一定最少,有時會“邊比邊搬”,搬得有點多。

小例子(老:[A,B,C,D] → 新:[B,A,D,C]):Vue 2 會在指針對沖的過程中,分別把 A、B、C、D 對來對去,多次移動,但整體復雜度仍是 O(n)。

Vue 3:快速 Diff + LIS 的“先粗后細”

Vue 3 的 patchKeyedChildren 大致分四步,思路更克制:

  • 前綴同步:從左向右比,直到第一對不等為止。
  • 后綴同步:從右向左比,直到第一對不等為止。

這兩步很常見于實際變更(前后加條目),能“秒過”大段不變區域。

  • 一坨新增/一坨刪除:

若老的先耗盡,剩下的新節點整段 一次性掛載;

若新的先耗盡,老列表剩余整段 一次性卸載。

  • 中段重排(真正的“難點”):

對中間這段構建 新Key→新Index 映射,并用一個 source 數組記錄“老節點在新位置的索引”(找不到記 -1)。

先把 source 中為 -1 的老 DOM 全部 卸載(新里沒有了)。

再在 source 上跑 LIS(最長遞增子序列),LIS 表示“本就順序正確、可以不動的那些 DOM”;

不在 LIS 里的,按新順序 最少次數地插/移,把坑補齊。

同樣的例子(老:[A,B,C,D] → 新:[B,A,D,C]):Vue 3 會很快同步兩頭(其實同步不了很多),進入中段后通過 source+LIS 直接算出“最少需要動誰”,移動次數更少。

責任編輯:武曉燕 來源: 程序員Sunday
相關推薦

2024-07-04 08:56:35

Vue3項目Pinia

2021-01-20 14:25:53

Vue3CSS前端

2021-08-23 13:25:25

Vue3CSS前端

2025-03-26 10:29:22

Vue3前端API

2025-02-18 08:10:00

Vue 3JavaScrip開發

2024-02-05 21:48:25

VueReactHooks

2021-08-14 23:08:56

蘋果iPhone XSiPhone 11

2021-10-14 23:11:04

手機屏幕LCD

2022-03-24 20:42:19

Vue3API 設計Vue

2021-12-06 12:48:40

Gosyncatomic

2025-10-17 07:10:00

前端開發Vue

2024-03-05 08:33:52

OptionsAPIcomuted

2021-07-30 05:06:48

Vue 2Vue 3

2023-08-09 10:21:07

Vue 3Reactive

2025-07-29 08:05:37

2022-01-12 20:04:09

網絡故障斷網事件網絡安全

2021-10-08 06:10:43

前端技術Vue

2014-11-18 10:36:36

互聯網

2021-06-26 06:29:14

Vue 2Vue 3開發

2020-10-20 18:42:17

Vue 3.0vue2.x數據
點贊
收藏

51CTO技術棧公眾號

亚洲中文字幕无码不卡电影| 91免费视频国产| 一级性生活大片| 素人啪啪色综合| 亚洲精品日韩综合观看成人91| 午夜美女久久久久爽久久| 青青草视频播放| 久久久加勒比| 国产精品久久综合| 国产精品嫩草影院一区二区| 美女的奶胸大爽爽大片| 日韩欧美四区| 欧美人妖巨大在线| 久久久久久久久久久99| 男女啪啪在线观看| 91丨九色丨蝌蚪丨老版| 亚洲影院色无极综合| caoporn国产| 亚洲天堂男人| 久久人人爽人人爽爽久久| 加勒比av中文字幕| 亚洲色图官网| 亚洲曰韩产成在线| 国产一区二区三区四区五区加勒比| 久久久久亚洲av片无码下载蜜桃| youjizzjizz亚洲| 欧美视频一区二区三区在线观看| 亚洲精品乱码久久久久久蜜桃91 | 午夜视频一区二区三区| 一本色道久久99精品综合| 国产精品久久久久久无人区| 裸体一区二区| 69av视频在线播放| 美女毛片在线观看| 久久久人成影片免费观看| 亚洲一区二区久久久| 成年人三级黄色片| 国产一区二区三区朝在线观看| 中文字幕综合网| 日韩国产在线一区| 亚洲a∨一区二区三区| 欧美一区二区福利| 草逼视频免费看| 韩国一区二区在线观看| 国产在线一区二区三区| 五月婷婷六月婷婷| 爽好多水快深点欧美视频| 91成人精品网站| 日本中文在线播放| 国产精品入口| 1769国产精品| 亚洲色图 激情小说| 日韩三级网址| 日韩三级中文字幕| 人妻互换一二三区激情视频| 日韩三区在线| 欧美在线视频日韩| 欧美黑人经典片免费观看| 182在线视频观看| 国产精品美女久久久久aⅴ国产馆| 97se亚洲综合在线| www黄色网址| 国产91在线看| 久久久精品有限公司| 青青免费在线视频| 久久精品人人做| 国产精品theporn88| 理论片中文字幕| 国内精品视频666| 日本不卡视频在线播放| 久久久成人免费视频| 天堂午夜影视日韩欧美一区二区| 久久久久久久久网站| 日韩av免费网址| 日韩激情一二三区| 91精品久久久久久久久久久久久| 你懂的国产在线| 日本在线不卡一区| 亚洲一区二区三区四区视频| 国产 日韩 欧美 综合| 99v久久综合狠狠综合久久| 欧洲亚洲一区| av在线免费观看网址| 亚洲成a人v欧美综合天堂下载 | 中文字幕制服丝袜成人av| 色大师av一区二区三区| 国产美女在线观看| 中文字幕不卡在线播放| 欧美日韩中文字幕在线播放| 成人好色电影| 亚洲美女偷拍久久| 欧美日韩激情视频在线观看| 粉嫩91精品久久久久久久99蜜桃| 亚洲一级电影视频| 国产亚洲天堂网| 亚洲天堂av在线| 欧美日韩高清一区二区| 久久久久99人妻一区二区三区| 精品一区二区三区中文字幕在线| 91精品国产一区二区三区蜜臀| 97公开免费视频| 日韩精品视频中文字幕| 在线综合视频播放| 国产人妻人伦精品1国产丝袜| aaa国产精品| 一区二区三区四区在线观看视频| 久久久久久国产免费a片| 午夜国产一区| 国产精品va在线播放| 欧美亚洲精品在线观看| 国产精品久久一卡二卡| 久久久999视频| 一区二区三区视频播放| 亚洲第一男人av| 免费成人深夜夜行网站| 欧美日韩精品免费观看视频完整| 久久久久久久国产精品视频| 日韩男人的天堂| 韩国av一区二区三区四区| 欧美主播一区二区三区美女 久久精品人 | 欧美日韩精品一区视频| www.国产福利| 成人影视亚洲图片在线| 2019中文字幕在线| 性中国xxx极品hd| 91麻豆免费视频| 日本aa在线观看| 图片一区二区| 色阁综合伊人av| 中文字幕1区2区3区| xfplay精品久久| 男女私大尺度视频| 一区二区三区四区精品视频| 久久香蕉国产线看观看av| 国产成人自拍偷拍| 国产婷婷色一区二区三区| 亚洲一区二区三区四区中文| 香蕉成人影院| 欧美大片拔萝卜| 免费看特级毛片| 亚洲欧洲日本mm| 国产精品白嫩美女在线观看| 天天综合网在线观看| 亚洲国产乱码最新视频| 国产九九在线观看| 成人婷婷网色偷偷亚洲男人的天堂| 久久色在线播放| 国产在成人精品线拍偷自揄拍| 不卡高清视频专区| 国产精品videossex国产高清| 天天免费亚洲黑人免费| 欧美岛国在线观看| 日本欧美一区二区三区不卡视频| 欧美精品一区二区三区久久久竹菊| 91av在线不卡| 欧美3p视频在线观看| 日韩欧美在线第一页| 国产一二三四五区| 免费高清在线视频一区·| 在线观看成人一级片| 91九色porn在线资源| 亚洲国产一区二区三区四区| 日本成人精品视频| 国产一区 二区 三区一级| 欧洲金发美女大战黑人| 亚洲午夜免费| 7777精品久久久久久| 国产尤物视频在线| 性做久久久久久久免费看| 日韩aaaaa| 丝袜a∨在线一区二区三区不卡| 福利视频久久| 欧美成年黄网站色视频| 欧美一卡二卡在线| 欧美另类一区二区| 国产精品天天摸av网| 三年中文在线观看免费大全中国| 欧洲激情视频| 成人xxxxx| 91黄页在线观看| 亚洲天堂成人在线| 伊人中文字幕在线观看| 国产精品理伦片| 国产a级片视频| 六月丁香综合| 奇米777四色影视在线看| 欧美激情网址| 成人黄色免费在线观看| 91桃色在线| 色偷偷偷亚洲综合网另类| 亚洲国产精品久久久久爰性色| 中文字幕亚洲一区二区va在线| 欧美精品aaaa| 黄色成人在线网址| 日韩影视精品| av成人app永久免费| 国产精品av电影| 超碰免费在线观看| 欧美成人高清电影在线| 国产免费www| 亚洲成人av福利| 捆绑凌虐一区二区三区| 国内成人自拍视频| 欧美一级特黄aaaaaa在线看片| 久久久久亚洲精品中文字幕| 18久久久久久| 日本片在线看| y97精品国产97久久久久久| 亚洲 欧美 自拍偷拍| 日韩一级完整毛片| 中文字幕+乱码+中文乱码91| 中文字幕亚洲欧美在线不卡| 久久久老熟女一区二区三区91| 亚洲伦伦在线| 日韩人妻一区二区三区蜜桃视频| 亚洲一区二区电影| 国产噜噜噜噜噜久久久久久久久 | 亚洲欧洲日韩av| 中文 日韩 欧美| 日韩黄色免费网站| 日韩中文字幕三区| 黄色亚洲在线| 欧美一区激情视频在线观看| 精品淫伦v久久水蜜桃| 91九色在线免费视频| 国产成人77亚洲精品www| 九色精品免费永久在线| 天天综合网在线观看| 欧美成人精品高清在线播放| 国产免费一区二区三区免费视频| 亚洲一区二区av在线| 久久久久久视频| 亚洲私人黄色宅男| 亚洲一区电影在线观看| www.欧美精品一二区| 苍井空张开腿实干12次| 国产精品中文欧美| 日韩精品视频网址| 久久裸体视频| 久久久久久久激情| 亚洲专区一区二区三区| 成人综合视频在线| 中日韩视频在线观看| 少妇无码av无码专区在线观看 | 精品免费久久久久久久| 久久久久久久久久久9不雅视频 | 免费av一级片| 欧美va亚洲va| 秋霞网一区二区| 亚洲国产另类久久精品| 色wwwwww| 欧美一区午夜视频在线观看| 国产三级第一页| 色婷婷综合久色| 国产又粗又猛又爽又| 欧美日韩一级片在线观看| 91av久久久| 日韩亚洲欧美在线| 日日夜夜精品免费| 91精品国产色综合久久不卡电影| 亚洲va在线观看| 欧美在线观看一区| 国产精品九九九九| 欧美成人精品二区三区99精品| 依依成人在线视频| 欧美精品在线视频| www.日日夜夜| 亚洲国产欧美一区| 福利在线观看| 久久精品视频在线| 999福利在线视频| 欧美猛少妇色xxxxx| 51精品在线| 国产精品久久久久久超碰 | 婷婷视频在线观看| 精品日韩一区二区三区| 色中色在线视频| 日韩中文有码在线视频| 在线āv视频| 45www国产精品网站| 国产福利电影在线播放| 91国在线精品国内播放| 成人亚洲综合| 国产精品日韩欧美一区二区三区 | 日韩视频不卡中文| 亚洲欧洲综合在线| 日韩精品视频在线免费观看| 蜜臀av在线观看| 中文字幕无线精品亚洲乱码一区| 国产在线观看免费| 欧美成人性生活| a日韩av网址| 91免费版黄色| eeuss鲁片一区二区三区 | 精品国产亚洲一区二区在线观看| 91久久精品国产91久久| 天天综合在线观看| 精品久久蜜桃| 久久久久国产精品| 老熟妇仑乱视频一区二区| 国产成人精品aa毛片| www.av天天| 午夜精品福利在线| 国产av无码专区亚洲av| 精品福利av导航| 日本在线播放| 日本欧美黄网站| 狠狠一区二区三区| 香蕉精品视频在线| 日韩精品一级二级| 黄色av网址在线观看| 亚洲老司机在线| 一区二区精品视频在线观看| 亚洲精品在线视频| 久草在线资源站资源站| 国产区精品在线观看| 国产成人短视频在线观看| 欧洲精品一区二区三区久久| 久久69国产一区二区蜜臀| 波多野结衣片子| 欧美日韩国产精品一区二区不卡中文 | 狠狠干狠狠久久| 亚洲美女福利视频| 超薄丝袜一区二区| 日韩亚洲国产免费| 亚洲视频精品一区| 日韩成人伦理电影在线观看| 黄色在线观看av| 欧美日韩一区二区在线播放| 丰满人妻一区二区三区免费视频| 亚洲欧美国产日韩天堂区| √天堂资源地址在线官网| 国产成人精品午夜| 国产精品一区二区三区av麻| 日韩精品一区二区三区久久| 美女视频网站黄色亚洲| 1024手机在线观看你懂的| 一个色综合网站| 亚洲精华国产精华精华液网站| 亚洲欧美激情四射在线日| 深夜在线视频| 久久精品国产美女| 日韩一级网站| 最新在线黄色网址| 欧美日韩中文字幕在线| 国产三级小视频| 色综合视频网站| 国产成人77亚洲精品www| 亚洲人成人77777线观看| 久久99精品网久久| 欧美日韩精品在线观看视频| 日韩视频免费观看高清完整版在线观看 | 99久久夜色精品国产网站| www..com国产| 亚洲乱码一区二区| 深夜视频一区二区| 影音先锋欧美资源| 国产精品一区在线观看乱码| 国产亚洲精品码| 日韩精品免费电影| 成人涩涩视频| www.黄色网址.com| 成人国产在线观看| 91在线视频在线观看| 亚洲视频在线观看| 色综合久久久| 久久久亚洲国产精品| 久久女同精品一区二区| 久久综合久久鬼| 亚洲欧美日韩国产中文| 日本久久久久| 成人免费在线网| 国产欧美一区二区三区鸳鸯浴 | 黄色在线看片| 久久久久久亚洲精品不卡4k岛国| 狠狠88综合久久久久综合网| 黄色在线免费播放| 亚洲一二三区在线观看| 免费福利在线观看| 成人网在线免费看| 日韩一级欧洲| 亚洲欧美卡通动漫| 亚洲第一免费网站| 国产亚洲人成a在线v网站| 精品视频在线观看一区二区| 久久久久久黄色| 成人av无码一区二区三区| 日本中文字幕久久看| 欧美精品系列| avtt中文字幕| 欧美午夜不卡在线观看免费| 欧美大片黄色| 亚洲综合视频一区| 99在线精品观看| ,亚洲人成毛片在线播放| 国产91精品高潮白浆喷水| 国产videos久久| 久久午夜夜伦鲁鲁一区二区| 亚洲最大成人网4388xx| 成人在线免费视频|