emberjs mixin vs extend

时间:2015-05-22 06:21:48

标签: ember.js ember-validations

我正在考虑在我的项目中使用dockyard验证

我可以选择如何使用dockyard中的Validations-Mixin

  • 方法1 有一个BaseController,它将混合此Validations-Mixin并获取所有控制器中的功能

  • 方法2 直接使用Mixin。

优点1 无需在每个文件中导入ember-validations并手动混合,我在所有控制器中都获得了验证功能。

缺点1 在所有控制器中可能不需要验证,可能仅在50%的情况下需要验证,也可能重新排序现有控制器添加混合的方式。

2的优点 很简单,只有需要该功能的人才会导入并使用它。

2的缺点 在需要的地方导入每个文件并添加mixin。

1 个答案:

答案 0 :(得分:1)

我认为你应该直接使用mixin。为什么?

因为无需在应用中的每个控制器中扩展它。扩展mixins是一种在共享该功能的控制器之间获得共享功能的方法。我很确定您应用中的每个控制器都不需要验证。

根据我的经验,我可以说只有百分之几的控制器使用验证(这取决于应用程序,但它只是粗略的平均值)。将mixin导入所需的位置。