Ember.js ember cli中makeBoundHelper和registerBoundHelper之间的差异
我试图创建一个自定义帮助程序来格式化一个值,ember cli文档似乎表明我需要从我的帮助程序文件中导出makeBoundHelper,或者在导入以前创建的帮助程序函数时从app.js中导出registerBoundHelper 我对这一点的理解正确吗?或者可以从帮助文件中使用registerBoundHelper并使其正确注册 编辑 相关代码和错误信息如下: 只是将其向上推,使用Ember.js ember cli中makeBoundHelper和registerBoundHelper之间的差异,ember.js,ember-cli,Ember.js,Ember Cli,我试图创建一个自定义帮助程序来格式化一个值,ember cli文档似乎表明我需要从我的帮助程序文件中导出makeBoundHelper,或者在导入以前创建的帮助程序函数时从app.js中导出registerBoundHelper 我对这一点的理解正确吗?或者可以从帮助文件中使用registerBoundHelper并使其正确注册 编辑 相关代码和错误信息如下: 只是将其向上推,使用registerBoundHelper会导致“未捕获类型错误:未定义不是函数” 在解决车把问题下,助手们似乎表示我
registerBoundHelper
会导致“未捕获类型错误:未定义不是函数”
在解决车把问题下,助手们似乎表示我只能从app.js中使用registerBoundHelper,但不确定是这样还是我做错了 根据文件
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);
boundFn
ismakeBoundHelper
callback感谢您的响应,在文档中看到了这一点,但在ember cli上下文中似乎得到了意外的结果,将很快更新为错误和代码示例。下面是刚刚使用registerBoundHelper
结果向上推送的链接未捕获类型错误:未定义不是函数“UnderResolving Handlebar helpers似乎表明我只能从app.js中使用registerBoundHelper,但不确定是这样还是我做错了。感谢您的帮助。我想最好在ember cli
中使用makeBoundHelper
,因为它只在文件名为虚线的情况下注册帮助程序……如果您想使用registerBoundHelper
,您可以在app.js
中完成此操作,如您所述