5

我正在尝试创建一个自定义帮助器来格式化一个值,ember-cli 文档似乎表明我需要从我的帮助器文件中导出 makeBoundHelper,或者从 app.js 中的 registerBoundHelper 同时导入以前创建的帮助器函数。

我对此的理解正确吗?或者您可以在帮助文件中使用 registerBoundHelper 并让它正确注册。

编辑

相关代码和错误信息如下:

https://github.com/ridget/transactions/blob/master/app/helpers/to-currency.js

只是将其推高,使用registerBoundHelper“未捕获的类型错误:未定义不是函数”中的结果

http://iamstef.net/ember-cli/在解析车把助手下似乎表明我只能在 app.js 中使用 registerBoundHelper 但不确定是这种情况还是我只是做错了。

4

1 回答 1

5

根据文档

makeBoundHelper 是

A (mostly) private helper function to `registerBoundHelper`. Takes the
  provided Handlebars helper function fn and returns it in wrapped
  bound helper form.

  @private
  @method makeBoundHelper
  @for Ember.Handlebars
  @param {Function} function
  @param {String} dependentKeys*

所以基本上两者都做同样的工作。差异是registerBoundHelper公开的。参数也不一样。

  @method registerBoundHelper
  @for Ember.Handlebars
  @param {String} name
  @param {Function} function
  @param {String} dependentKeys*

makeBoundHelper 不使用助手的名称。您可能需要通过调用自行注册助手

Ember.Handlebars.registerHelper(name, boundFn);

boundFnmakeBoundHelper回调

于 2014-07-02T07:20:20.220 回答