我有一个组件库,我想在其中标准化 Prop 、组件等。
关于将 props/methods/other mixins/etx 合并到一个更大的 mixin 中的想法
- 所有属性名称都相同
- 删除重构时的重复代码,将组件从本地 props/methods/compulated/调整为“全局”
- 并非所有组件都需要 mixin 中包含的每条数据 - 第 4 点
- tree shake 会删除 Rollup 上未使用的代码吗?
- 这是个好主意吗?
最佳答案
如果您的组件库不限于使用 Vue 2,您可能需要查看 Vue Composition API在不同组件之间共享功能(方法+ react 状态)。
Mixin 可能不是您真正想要使用的,因为您会丢失有关哪些功能/ Prop /方法真正将放入组件中的信息,而无需重新检查 mixin
代码。当 Vue 在运行时合并组件选项时,您也可能会遇到问题。查看这些帖子以获取更多信息:
https://css-tricks.com/how-the-vue-composition-api-replaces-vue-mixins/
https://reactjs.org/blog/2016/07/13/mixins-considered-harmful.html
至于共享 props
:我昨天在 Vuetify 的创建者 John Leider 的演讲中看到的(但尚未尝试过!)是创建一个返回您想要的 props 的函数在组件之间重用。然后,您只需在 props 定义中调用所述函数并使用展开运算符即可。
关于vue.js - Vue - 将所有 Prop 保留在一个大型 mixin 中是否更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64710196/