我正在浏览一个使用Ember-CLI 1.13的旧项目的代码库,发现了一些奇怪的东西。
有很多帮助器,它们不在模板内部直接使用,而是通过导入到组件js文件中使用的。一个这样的例子是
Distrib 5.7
在组件js文件中,我可以看到上面的助手正在导入和使用。
//..helpers/my-helper.js
export function func1 (param1, param2) {
//return something;
}
export function func2 (param1, param2) {
//return something;
}
export function func3 (param1, param2) {
//return something;
}
export default Ember.Helper.helper(func1);
export default Ember.Helper.helper(func2);
export default Ember.Helper.helper(func3);
我有几个问题:
答案 0 :(得分:3)
在这种情况下,我们是否应该创建实用程序而不是帮助程序?
是的,但是有时候程序员会很懒惰或者时间很受限制(即使将功能转移到实用程序看起来并不耗时)
可以在单个帮助文件中包含许多功能吗?
是的,可以在文件中包含许多功能并导出它们,但是据我所知,只有default
导出才能在模板中用作帮助程序。而且我99%的肯定没有默认导出将导致构建错误。
是否需要在组件文件中导入?
如果这些导入用于组件的 code 中,则它们是必需的。否则,不会。