大家好,我是若川。持續組織了近一年的源碼共讀活動,感興趣的可以?點此加我微信ruochuan12?參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》?包含20余篇源碼文章。歷史面試系列。另外:目前建有江西|湖南|湖北
籍前端群,可加我微信進群。
雖然 Vue3 早已是 Vue 的默認版本,但還有大量用戶、相關庫、周邊生態使用的是 Vue2。不過好消息是,Vue2.7 將會帶著 Vue3 的很多特性到來。更多的新 API 支持、更好的 TS 類型支持,一起來看看吧~
更新內容
在本周 Vue2 即將發布的最后一個次要版本 Vue2.7 中,Vue3 的很多功能將會向后移植到 Vue2.7 中,以便于 Vue2 的很多項目可以使用 Vue3 的一些很好用的新特性,比如:
組合式 API
單文件組件 <script setup>
CSS 中的 v-bind()
另外,還有其他一些 API 也將獲得支持:
支持改進后的類型推導的
defineComponent()
支持
h()
,useSlot()
,useAttrs()
,useCssModules()
set()
,del()
和nextTick()
在 ESM 構建模式中,也會被命名導出支持
emits
,但僅用作類型檢查用途(不影響運行時行為)
另外,Vue2.7 還會在 <template>
模版表達式中支持 ESNext 語法,當使用 Webpack/Vite 之類的構建工具時,編譯后的 render 函數會使用為 JS 文件配置的 loader/plugin。也就是說如果你為 JS 文件配置的 Babel 也適用于 <template>
模版中的表達式。
現在你終于可以在模版里面用可選鏈 formData?.userInfo?.userId
,而不用寫一堆 &&
,也可以直接使用零合并操作符 ??
來給變量賦一個默認值了,而不需要用可能導致 bug 的或 ||
。
后續支持
Vue2.7 預計將在六月底(本周)正式 release,這會是 Vue2 的最后一個次要版本。Vue2.7 正式發布后,Vue2 將不再接受新功能,并且將進入持續 18 個月的 LTS(長期支持)階段。
推薦閱讀
?JS 中強大的操作符,總有幾個你沒聽說過
Vue 2.7 is Now in Beta! ? https://blog.vuejs.org/posts/vue-2-7-beta.html