大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 点此加我微信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