如何修复 Ember 1.13.9 中已弃用的 Ember.Handlebars.registerBoundHelper?

How to fix the deprecated Ember.Handlebars.registerBoundHelper in Ember 1.13.9?

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

如何正确替换已弃用的 Ember.Handlebars.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.Handlebars.registerBoundHelper”替换为“Ember.Helper.helper”就可以了,但是这些助手不再可用:"Uncaught Error: Assertion Failed: A helper named 'date-ago' could not be found!".

如何在没有 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="$"}}

jsbin here