vue2簡史:作為前端的主流框架之一的vue2從發(fā)布到停止維護(hù)經(jīng)歷了23個主要版本更新,Vue 2.7 是當(dāng)前、同時也是最后一個 Vue 2.x 的次級版本更新。提供 18 個月的長期技術(shù)支持 (LTS:long-term support)。在此期間,Vue 2 將會提供必要的 bug 修復(fù)和安全修復(fù),但不再提供新特性。
Vue 2 的終止支持時間是 2023 年 12 月 31 日。在此之后,Vue 2 在已有的分發(fā)渠道 (各類 CDN 和包管理器) 中仍然可用,但不再進(jìn)行更新,包括對安全問題和瀏覽器兼容性問題的修復(fù)等。
Vue3.0版本于2020年9月18日正式發(fā)布。這個版本帶來了許多新功能和改進(jìn),包括減少開發(fā)人員配置工具的次數(shù),并增加了許多內(nèi)置功能。【vue3兼容vue2寫法】。
【重點(diǎn)】:vue2和vue3的重點(diǎn)區(qū)別詳解:
一、Composition API:
Vue.js 3 引入了 Composition API,這是一個新的 API 風(fēng)格,允許開發(fā)者更好地組織和重用組件邏輯。相比 Vue.js 2 中的選項(xiàng)式 API,Composition API 更靈活,使得代碼更易于維護(hù)。
二、Vue2、Vue3兩者響應(yīng)式的底層實(shí)現(xiàn)不同:
1.Vue2
底層是Object.defineProperty
,使用Object.defineProperty()對數(shù)據(jù)進(jìn)行劫持,也就是數(shù)據(jù)劫持并結(jié)合訂閱發(fā)布模式的方式實(shí)現(xiàn),但有一定的局限性。缺點(diǎn)是它內(nèi)部有一個this.$set
去實(shí)現(xiàn)對數(shù)組更新的時候無法實(shí)現(xiàn)響應(yīng)式。
2.Vue3
底層是通過ES6
的Porxy
, 使用Proxy代理,使用ref或者reactive將數(shù)據(jù)轉(zhuǎn)化為響應(yīng)式數(shù)據(jù),能夠更好地支持動態(tài)添加屬性和刪除屬性。?除了對瀏覽器的兼容性不友好,但它解決了vue2底層實(shí)現(xiàn)的缺點(diǎn),對數(shù)組、層級以及比deep的對象處理都很友好。
三、生命周期的區(qū)別:(全面對比總結(jié))
Vue2生命周期(左)? ?VS? ?Vue3生命周期(右)
beforeCreate————初始化階段比較—————setup()?
created?——————初始化階段比較——————setup()
beforeMount ————初始化階段比較—————?onBeforeMount
mounted——————初始化階段比較—————onMounted?
———————————————————————————————
beforeUpdate———更新階段比較———onBeforeUpdate?
updated—————更新階段比較————onUpdated?
activated————更新階段比較———— onActivated?
deactivated ———更新階段比較—————onDeactivated
———————————————————————————————
beforeDestroy———銷毀階段比較————onBeforeUnmount?
destroyed ————銷毀階段比較————onUnmounted?
【結(jié)論】:其實(shí)兩者的生命周期鉤子變化并不大,只是為了區(qū)分組合式API和響應(yīng)式API 。
四、語法API的區(qū)別:
Vue2
:選項(xiàng)式API
,面向?qū)ο缶幊?/span>的語法 vue3:組合式API
,面向函數(shù)編程;沒有this!!!
vue2圖例:
vue3圖例:
五、模板指令以及模板中的 v-model:
在vue2中,v-for 優(yōu)先級高于 v-if;? ? ? 在vue3 中,v-if 優(yōu)先級高于v-for;(相反)
vue2:
vue3:
v-if or v-for 的區(qū)別圖------->>>>
?六、Tree-shaking 支持:
Vue.js 2: Tree-shaking 效果相對較差。
Vue.js 3: 設(shè)計(jì)上更有利于 Tree-shaking,減小打包體積。文章來源:http://www.zghlxwxcb.cn/news/detail-842743.html
結(jié)束語總結(jié):時代終究在變遷,不僅是人和物,前端框架亦是如此。vue2之所以強(qiáng)大是因?yàn)樗S時代的進(jìn)步迭代了很多版本在不斷變遷,經(jīng)典終究經(jīng)典 但還是要邁步向前迎接vue3。文章來源地址http://www.zghlxwxcb.cn/news/detail-842743.html
到了這里,關(guān)于Vue2和Vue3的主要區(qū)別詳解及版本的過渡歷史變遷的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!