新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Vue2.7正式發(fā)布,代號為Naruto
大家好,我是 CUGGZ。

10年積累的成都網(wǎng)站設計、成都網(wǎng)站建設經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有天山免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
今天,Vue 正式發(fā)布了 2.7 版本, 版本名稱為 Naturo,即火影忍者。
盡管現(xiàn)在 Vue 3 是默認版本,但由于仍有許多用戶由于依賴兼容性、瀏覽器支持要求或沒有足夠的帶寬升級而不得不繼續(xù)使用 Vue 2。在 Vue 2.7 中,從 Vue 3 向后移植了一些最重要的功能,以便 Vue 2 用戶也可以從中受益。
向后移植的功能
- Composition API
- SFC
- SFC CSS v-bind
此外,還支持以下 API:
- defineComponent()?:具有改進的類型推斷(與Vue.extend相比)。
- h()?、useSlot()?、useAttrs()?、useCssModules()。
- set()?、del()? 和nextTick() 在 ESM 構(gòu)建中也作為命名導出提供。
Vue 2.7 還支持在模板表達式中使用 ESNext 語法。使用構(gòu)建系統(tǒng)時,編譯后的模板渲染函數(shù)將通過為普通 JavaScript 配置的相同 loaders / plugins。這意味著如果為.js文件配置了 Babel,它也將應用于 SFC 模板中的表達式。
注意事項
- 在 ESM 構(gòu)建中,這些 API 作為命名導出提供(僅限于命名導出):
import Vue, { ref } from 'vue'
Vue.ref // undefined, 改用命名導出
- 在 UMD 和 CJS 構(gòu)建中,這些 API 作為全局 Vue 對象上的屬性暴露。
與 Vue 3 的行為差異
Composition API 使用 Vue 2 的基于 getter/setter 的響應式系統(tǒng)進行反向移植,以確保瀏覽器兼容性。這意味著與 Vue 3 的基于 proxy 的系統(tǒng)存在一些重要的行為差異:
- 所有 Vue 2 更改檢測警告仍然適用。
- reactive()、ref()? 和shallowReactive() 將直接轉(zhuǎn)換原始對象而不是創(chuàng)建代理:
// 在2.7中可行,在3.x中不可行
reactive(foo) === foo
- readonly() 確實創(chuàng)建了一個單獨的對象,但它不會跟蹤新添加的屬性并且不適用于數(shù)組;
- 避免在reactive()? 中使用數(shù)組作為root 值,因為如果沒有屬性訪問,則不會跟蹤數(shù)組的變化(這將導致警告);
- Reactivity APIs 忽略帶有symbol 鍵的屬性。
此外,以下功能是未移植的:
- createApp()(Vue 2 沒有獨立的應用范圍)。


咨詢
建站咨詢