我们应该在 Vue 3 中将 mixin 转换为基于类的组件定义语法吗?

Vic*_*Lam 7 vue.js

在阅读了 Vue 3 的计划后,我注意到语句 mixin 仍将被支持。但是,如果 Vue 将来停止支持 mixin,我是否应该将所有 mixins 组件转换为基于类的组件?

混合:

导出默认类 MyComponent extends mixins(A, B, C) { }

Dan*_*ton 6

最初为 Vue 3 计划的类 API 已被删除并替换为组合 API。虽然仍然支持 mixin,但组合函数有许多优点,例如避免命名空间冲突,更清楚地了解属性的来源,以及更友好地使用 Typescript。

一旦 Vue 3 发布,我建议不要编写更多的 mixin,而是使用组合函数。是否重写旧的 mixin 取决于你自己——这取决于你是否认为组合函数的好处超过重写旧 mixin 的初始成本。