Vue 新 ref 语法糖提案引热议 尤雨溪回复

近日,Vue 发明人尤雨溪在 Vue RFCs 下提交了一份新的 Ref 语法糖提案,该提案一经发布便引来了不少争议。

提案内容

这份提案就是在单文件组织(SFC)中引入一个新的script 标签写法,写法为

Composition API (基于当前提案)




亲自用一下感觉会更直观:antfu/vite-starter-ref-sugar

也可以看一下一个已经实际使用该语法的用户的代码和他的使用体验:https://github.com/vuejs/rfcs/pull/222#issuecomment-723500871

其他一些疑问

review 时没办法一眼看出来这是普通变量还是ref变量。

Vetur 可以给 ref: 声明的变量加上不同的高亮。

在 SFC里用 ref: 语法糖,日后想把逻辑抽到 .ts/.js 中时,又要改成 ref()的形式。这两种风格的不一致也影响了重构的效率。

由于编译转换规则非常简单直接,Vetur 可以提供这样的工作流:选择代码块 -> 右键 “compile ref sugar” -> 剪切 -> 黏贴。可以提供双向转换,完全机械操作,几乎没有脑力损耗。需要一提的是 Svelte 的响应编译模型无法解决这个问题,因为 Svelte 编译出来的代码不是给人维护的代码,且和组件上下文强绑定,所以没法挪到组件外部。这也顺便回答了 “既然都要语法糖了为什么不像 Svelte 那样走完全编译路线“。

这里不否认组件内外风格的切换是会有额外的心智成本的,但这是否能够接受可能会因人而异。因此,ref:语法糖完全是可选的,可以通过编译选项强制关闭。不喜欢的话依然可以在

你可能感兴趣的:(综合资讯,vue,尤雨溪)