Vue3.0响应式系统二三事
2010 年 4 月 16 日
惊觉近来对于新技术的涉猎和思考总结有些懈怠(自我反省ing),赶紧写篇博客消散一下愧疚感。
10月5号,正值国庆佳节,Vue作者尤雨溪在全球最大的同性交友网站 github 开源了 vue@3.0.0 的 alpha 版代码 ,大家可以去看看小右的提交记录和issue处理速度,不得不感慨, 优秀的人总是自律且勤奋的 。想想当时还在青海浪,已经几个月没写博客的自己,不禁有些汗颜。
扯远了,我们说回Vue3,说到 Vue3 不得不提到6月份左右发生的一点小新闻:
- 英文原文: Vue’s Darkest Day
- 中文版: Vue最黑暗的一天
故事的背景是,小右在Vue社区发布的一篇 请求意见稿(RFC) ,用于讨论即将发布在Vue3.0中的函数式组件编写方式,不久后,知名论坛 reddit 和 hacker news 上的一些负面帖子引发大批的开发者涌向 RFC 表达他们的愤怒,甚至不乏一些侮辱性评论。
很多人在不经自行推敲就人云亦云的持以下观点:
- 因为现有语法被移除或者被替代,所有 Vue 代码都必须重写
- 新语法没有强制结构,会导致意大利苗条式代码
- Vue在模仿 React / Angular,它要变成 React / Angualr 了
- 所有HTML都要写在一个超长的字符串里
事实上,在认真阅读 RFC 以及部分源码后(顺便提了两个PR: #441 , #453 ),我认为 这些观点都是无稽之谈 。
以上并不是这篇文章想要说的内容,只是想用这件事,警醒正在参与开源工作、从开源中获益的自己:
- 不要轻信别人的一面之词,要有自己的思考和判断
- 不要轻易对不了解的东西发表评价,尤其是负面评价
- 无礼的批评,不是那些对开源投入巨大精力的工作者所应该承受的
希望以上自我警醒对阅读的你也有帮助
话不多说(已经说很多了),进入正题
试试水
首先,如果是想完全拥抱 Vue3.0 的新特性,那么在写法上和 Vue2.x 确实有很大的区别( Vue3.0会提供尽可能兼容 Vue2.x 写法的版本 )。
Vue2.x 的写法我就不赘述了,我们来看看,Vue3.0 的写法究竟差别在哪里: