共计 1594 个字符,预计需要花费 4 分钟才能阅读完成。
今天在看 vue-composition-api 文档的时候,突然发现多出来个 Languages 选项:
咦奇怪,我记得以前好像没有这个选项的呀。赶紧点开看看有没有中文:
太棒了!还是尤大对咱好,感动得我热泪盈眶,虽然有可能压根就不是他翻译的。
因为在知乎,我曾看他发布过这么一段话:
当然是不是他翻译的并不重要,重要的是英文不好的小伙伴们终于可以仔细看看 vue3 的 composition-api 的具体细节啦!
文档地址
https://composition-api.vuejs.org/zh/
首页
映入眼帘的就是这么一段标题,把不该翻译的都给翻译了,一度让我怀疑是不是用谷歌翻译的。
叫组合式 API 还真有点不太习惯,还有把 RFC 变成征求意见稿,乍一看还有点让人丈二的和尚摸不着头脑。
什么是 RFC
相信许多小伙伴听到这个词之后一脸懵,因为这种全部都是大写的几个字母组成的单词一看就是好几个单词取每个单词的首字母大写拼成的,即使英语很好的人也无法凭借几个单词的首字母大写而判断出这是哪几个单词的首字母。除非你经常处于某些个首字母拼写的环境下,比如你很喜欢篮球,那么你一定知道 NBA 是什么、喜欢格斗的话,你肯定听过 UFC(尤雨溪就是 UFC 铁粉)。不过更多的人是知道首字母代表什么大概的含义,而并不知道全拼,比如:NBA、CBA、UFC、MMA、CCTV 等,大多数人知道的是 NBA 代表美国篮球赛事、CBA 代表中国篮球赛事、UFC 代表美国综合格斗赛事、MMA 代表综合格斗这项运动、CCTV 代表中央电视台等,但几乎很少有人知道他们的全拼。
RFC 的全拼
RFC 是由 Requests For Comment 这三个单词的首字母拼接而成,如果单看字面意思的话,它可以被翻译成 请求评论,听起来依然不是很好理解,请求什么评论?就评个论还得低三下四的去求你?说好的言论自由呢?
其实,它还有另外一个比较高大上的翻译,叫做:征求意见书。这样的话就比较好理解了,咱们不止要自由,而且还要民主!
征求意见稿
既然知道了征求意见稿,那么就不得不提一下《vue3 的设计过程》了,这个 composition-api 到底是基于什么样的一个想法去实现的?
官网都有详细的说明。
尝试使用
既然中文文档都出来了,就更没有理由偷懒说什么学不动了。
虽然有些人还是比较有顾忌,说是什么现在还是处于 beta 阶段不稳定,想等正式版出了再学。
但实际上现在的 api 已经趋于稳定,目前的工作也就是修修 bug,不会出现什么增加个新的 api 或者修改一个已有的 api,按照这个文档去学是不会有太大问题的。
这样的话提前会用总比 vue3 正式版出来了你才去学强吧!现在博客那么多文章说什么面试官问这问那的,如果你在简历上写着你已经熟练掌握 vue3 了这岂不是一个很大的加分项吗?
那么咱们就直接开始吧!
创建一个 vue3 项目还是很简单的:参考这篇《今日凌晨 Vue3 beta 版震撼发布,竟然公开支持脚手架项目!》
简而言之就是这么两步:
- vue create projectName
- vue add vue-next
- 最好使用最新版的 @vue/cli4 脚手架
- vue-cli2 这种脚手架是不能够创建出来的
- 记得升级一下 vue 脚手架
当然创建 vue 项目的时候,千万不要选 typescript。
因为 vue-next 这个插件暂时还不支持 ts 项目。
好了,既然创建成功了,我在这里告诉你几点小知识你就可以参照文档去试试 vue3 了:
- 主文件没有 new Vue()了,取而代之的是 createApp()
- 所以说也就没法再使用原型链在 vue 根实例上挂载一些东西了
- 取而代之的是依赖注入:provide 和 inject
- vue3 将 provide 和 inject 做了一定的增强,可以替代原型链挂载
- 定义组件时如果只想用 composition-api,可以使用 defineComponent(_ => {})
- defineComponent 里面的函数就相当于 setup 函数