【发布时间】:2016-03-14 16:29:53
【问题描述】:
我试图在我的ember.js 应用程序中从另一个助手调用助手,但无法弄清楚在 2.x 中如何做到这一点。作为参考,我将 Ember 2.4 与 Ember-CLI 一起使用。
在旧版本中,围绕该工作有几个答案;例如,下面的 sn-p 定义了一个 helper 变体,它试图发挥一些魔力,然后调用 Ember 的内置 component helper...
import Ember from 'ember';
export function magicComponent(params) {
// ...
// do some magic here
// ...
return Ember.Handlebars.helpers['component'].apply(this, args); // Oops!
}
export default Ember.Helper.helper(magicComponent);
...但是标有“糟糕!”的行是 TypeErroring,因为在 Ember 2.x 中 Ember.Handlebars.helpers 是 undefined。求救。
有谁知道如何在最新的 Ember 版本中以编程方式调用帮助程序(或设置某种继承)?
[编辑] 为清楚起见,删除了对“Handlebars”的引用。
【问题讨论】:
-
Ember >= 1.10 使用 HTMLbars 而不是 Handlebars。有关编写助手的官方方法,请参见此处guides.emberjs.com/v2.4.0/templates/writing-helpers
-
您有特定的用例需要这个吗?
-
@nem:我试图让问题本身与用例无关,因为它不会帮助那些想知道如何做这件事的未来谷歌人。不过,我自己也在探索其他选择,以防万一,虽然这有点超出了范围。
-
当然,但我要问的原因是导入助手需要知道哪个助手,所以我们知道从哪里导入它。你已经澄清你想导入一个内置的帮助器,这是我要求的:)
-
我明确表示我在问题中使用了 Ember 的
component助手——不清楚吗?要求真实,而不是讽刺。
标签: javascript ember.js