首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在javascript中调用makeBoundHelper函数

在javascript中调用makeBoundHelper函数
EN

Stack Overflow用户
提问于 2015-06-08 19:38:03
回答 1查看 180关注 0票数 0

我有一个成员-cli助手函数:翻译- i18n,我正在我的hbs模板中很好地使用它作为一个辅助助手,用于i18n翻译库。

我创建的助手将单词作为参数,只提供了一些备用情况(e.x )。如果翻译丢失,它将触发空气制动错误)。

当在hbs模板中使用时,我的助手工作非常出色,但似乎不可能从JS文件,特别是另一个助手文件中调用它。简而言之,问题是:

  • 如果我使用Ember.Handlebars.makeBoundHelper(translate);创建助手,则该助手无法使用Ember.Handlebars.helpers .所以我不能这么说。我可以看到,助手通过执行this.container.lookup('helper:translate-i18n'),而存在,但我似乎没有能力以这种方式调用该函数。
  • 如果我使用寄存器(而不是makeBound)创建助手,那么通过这样做:export default Ember.Handlebars.registerBoundHelper('translate', translate());,我就可以从任何地方访问我的助手,但是突然之间容器没有定义,我就不能再到码头i18n (t助手),因为这一行引发了一个错误:var t = this.container.lookup('utils:t');

如有任何建议/指示/意见,将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2015-06-09 16:57:55

如果您注册了一个车把帮手,那么您可以从JS访问它们,例如

如果你有一个叫'doSomething‘的帮手,

代码语言:javascript
复制
Ember.Handlebars.registerBoundHelper('doSomething', function (args) {
 return something;
});

您可以从JS调用助手,如下所示

代码语言:javascript
复制
Ember.Handlebars.helpers.doSomething(args);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30717636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档