在前端項(xiàng)目開發(fā)中需要注意的vue3與vue2的區(qū)別...

一执泰、生命周期的變化

1龙屉、創(chuàng)建前:beforeCreate 升級成 使用setup()

2许起、創(chuàng)建后:created 升級成 使用setup()

3相速、掛載前:beforeMount 升級成 onBeforeMount

4碟渺、掛載后:mounted 升級成 onMounted

5、更新前:beforeUpdate 升級成 onBeforeUpdate

6突诬、更新后:updated 升級成 onUpdated

7苫拍、銷毀前:beforeDestroy 升級成 onBeforeUnmount

8、銷毀后:destroyed 升級成 onUnmounted

9旺隙、異常捕獲:errorCaptured 升級成 onErrorCaptured

10绒极、被激活:onActivated 被包含在<keep-alive>中的組件,會多出兩個生命周期鉤子函數(shù)蔬捷。被激活時執(zhí)行垄提。

11、切換:onDeactivated 比如從 A 組件周拐,切換到 B 組件铡俐,A 組件消失時執(zhí)行

二、v-if和v-for的優(yōu)先級

1妥粟、在vue2中v-for的優(yōu)先級高于v-if审丘,可以放在一起使用,但是不建議這么做勾给,會帶來性能上的浪費(fèi)

2滩报、在vue3中v-if的優(yōu)先級高于v-for,一起使用會報錯播急∨Ъ兀可以通過在外部添加一個標(biāo)簽,將v-for移到外層

三桩警、diff算法

1可训、vue2中的diff算法

遍歷每一個虛擬節(jié)點(diǎn),進(jìn)行虛擬節(jié)點(diǎn)對比捶枢,并返回一個patch對象握截,用來存儲兩個節(jié)點(diǎn)不同的地方。

用patch記錄的消息去更新dom

缺點(diǎn):比較每一個節(jié)點(diǎn)柱蟀,而對于一些不參與更新的元素,進(jìn)行比較是有點(diǎn)消耗性能的蚜厉。

特點(diǎn):特別要提一下Vue的patch是即時的长已,并不是打包所有修改最后一起操作DOM,也就是在vue中邊記錄變更新。(React則是將更新放入隊(duì)列后集中處理)术瓮。

2康聂、vue3中的diff算法

在初始化的時候會給每一個虛擬節(jié)點(diǎn)添加一個patchFlags,是一種優(yōu)化的標(biāo)識胞四。

只會比較patchFlags發(fā)生變化的節(jié)點(diǎn)恬汁,進(jìn)行識圖更新。而對于patchFlags沒有變化的元素作靜態(tài)標(biāo)記辜伟,在渲染的時候直接復(fù)用氓侧。

四、?響應(yīng)式原理不同

1导狡、vue2通過Object.definedProperty()的get()和set()來做數(shù)據(jù)劫持约巷、結(jié)合和發(fā)布訂閱者模式來實(shí)現(xiàn),Object.definedProperty()會遍歷每一個屬性旱捧。

2独郎、vue3通過proxy代理的方式實(shí)現(xiàn)。proxy不需要像Object.definedProperty()的那樣遍歷每一個屬性枚赡,有一定的性能提升proxy可以理解為在目標(biāo)對象之前架設(shè)一層“攔截”氓癌,外界對該對象的訪問都必須通過這一層攔截。這個攔截可以對外界的訪問進(jìn)行過濾和改寫贫橙。

當(dāng)屬性過多的時候利用Object.definedProperty()要通過遍歷的方式監(jiān)聽每一個屬性贪婉。利用proxy則不需要遍歷,會自動監(jiān)聽所有屬性料皇,有利于性能的提升谓松。

五. 插槽方式不同

Vue2和Vue3具名插槽使用方式不同:vue2使用slot='',vue3使用v-slot:''

作用域插槽使用方式不同:vue2中在父組件中使用slot-scope="data"從子組件獲取數(shù)據(jù)践剂,vue3中在父組件中使用 #data 或者 #default="{data}"獲取

六鬼譬、樣式穿透

此處的樣式穿透,官方叫做深度選擇器逊脯。就是在我們想穿透的選擇器前邊添加 >>> 或者 /deep/ 或者 ::v-deep优质。比如說父組件中修改子組件的樣式。

在vue開發(fā)過程中军洼,當(dāng)我們引入第三方組件庫時(如使用element-ui)巩螃,需要在局部組件中修改第三方組件庫樣式,而又不想去除scoped屬性造成組件之間的樣式覆蓋匕争。這時我們可以通過一些方法穿透scoped避乏。

1、vue2中:

/deep/ .類名{}

::v-deep .類名{}

例: ::v-deep .el-tag--warning{

? ? ? ? color: #e6a23c;

? ? ??}

2甘桑、vue3中:

:deep (.類名{})

::v-deep(.類名{})

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拍皮,一起剝皮案震驚了整個濱河市歹叮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌铆帽,老刑警劉巖咆耿,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異爹橱,居然都是意外死亡萨螺,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進(jìn)店門愧驱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來慰技,“玉大人,你說我怎么就攤上這事冯键∪桥危” “怎么了?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵惫确,是天一觀的道長手报。 經(jīng)常有香客問我,道長改化,這世上最難降的妖魔是什么掩蛤? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮陈肛,結(jié)果婚禮上揍鸟,老公的妹妹穿的比我還像新娘。我一直安慰自己句旱,他們只是感情好阳藻,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谈撒,像睡著了一般腥泥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上啃匿,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天蛔外,我揣著相機(jī)與錄音,去河邊找鬼溯乒。 笑死夹厌,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的裆悄。 我是一名探鬼主播矛纹,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼光稼!你這毒婦竟也來了或南?” 一聲冷哼從身側(cè)響起逻住,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎迎献,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體腻贰,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吁恍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了播演。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冀瓦。...
    茶點(diǎn)故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖写烤,靈堂內(nèi)的尸體忽然破棺而出翼闽,到底是詐尸還是另有隱情,我是刑警寧澤洲炊,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布感局,位于F島的核電站,受9級特大地震影響暂衡,放射性物質(zhì)發(fā)生泄漏询微。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一狂巢、第九天 我趴在偏房一處隱蔽的房頂上張望撑毛。 院中可真熱鬧,春花似錦唧领、人聲如沸藻雌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胯杭。三九已至,卻和暖如春萨驶,著一層夾襖步出監(jiān)牢的瞬間歉摧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工腔呜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叁温,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓核畴,卻偏偏與公主長得像膝但,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子谤草,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內(nèi)容