Ember.js 如何修复Ember 1.13.9中不推荐使用的Ember.Handlebar.registerBoundHelper?

Ember.js 如何修复Ember 1.13.9中不推荐使用的Ember.Handlebar.registerBoundHelper?,ember.js,deprecation-warning,htmlbars,Ember.js,Deprecation Warning,Htmlbars,我目前正在从Ember 1.8.1升级到Ember 1.13.9。我的应用程序有点过时,没有使用ember cli(没有es6任何语法) 如何正确替换不推荐使用的Ember.Handlebar.registerBoundHelper: Ember.Handlebars.registerBoundHelper('date-ago',function(date) { return moment.utc(date).fromNow(); }); 我会建议你 DEPRECATION: `Ember

我目前正在从Ember 1.8.1升级到Ember 1.13.9。我的应用程序有点过时,没有使用ember cli(没有es6任何语法)

如何正确替换不推荐使用的Ember.Handlebar.registerBoundHelper:

Ember.Handlebars.registerBoundHelper('date-ago',function(date) {
  return moment.utc(date).fromNow();
});
我会建议你

DEPRECATION: `Ember.Handlebars.registerBoundHelper` is deprecated. 
Please refactor to use `Ember.Helpers.helper`. 
[deprecation id: ember-htmlbars.register-bound-helper]
所以我想用“Ember.Helper.Helper”替换“Ember.Handlebars.registerBoundHelper”就可以了,但是这些助手不再可用:“未捕获错误:断言失败:找不到名为“date ago”的助手!”


如何在没有ES6语法或Ember cli magic的情况下在Ember 2.0中注册htmlbars帮助程序?

只需将其分配给应用程序:

App.FormatCurrencyHelper = Ember.Helper.helper(function(params, hash) {
  var cents = params[0];
  var currency = hash.currency;
  return currency + cents * 0.01;
});

//template
{{format-currency 75 currency="$"}}

太棒了。作品很好的例子-我喜欢参数值用法,即通过App.FormatCurrencyHelper=。。。文件里没有。在它以某种方式使用registerHelper(“格式货币”)完成之前,它是有效的。因此,感谢您更清楚地指出这一点。