Vue(类似)组件和可重用性

时间:2018-05-28 11:33:26

标签: vuejs2 components dry reusability

我有3个vue组件他们都做类似的事情。

它们都输出一个正方形(100px x 100px)div,其中包含一个值,它们是不同的颜色。

  • 组件1(红色)需要2个值并输出一个百分比。

  • 组件2(蓝色)采用浮点值并将其四舍五入到下一个int

  • 组件3(绿色)取3个值并找到平均值。

有没有办法将它组合成一个可重用的组件。他们共享模板并使用类似的方法。

干什么是最好的方法。

1 个答案:

答案 0 :(得分:0)

这取决于哪些部分重叠。您可能应该是单独的组件,但如果他们重用相同的模板,他们可以扩展基本组件,或者他们可以使用mixin来共享功能。

这是一个更详细的链接https://alligator.io/vuejs/composing-components/

  

扩展允许您使用您的扩展程序扩展其他任何组件   组件的选项优先于父组件   组件。这意味着,例如,如果父母和你的   component包含一个created()钩子,你的组件的created()钩子   将首先调用,然后调用父代。

     

Mixins 甚至更酷。它们允许您扩展多个组件   定义。使用mixins,提供可重用的方法很简单   任意数量的组件中的数据。

我应该指出,使用mixins是有争议的。反应社区有一个相当强烈的立场https://medium.com/@dan_abramov/mixins-are-dead-long-live-higher-order-components-94a0d2f9e750但是在vue中创建HOC有点棘手