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

jus*_*fan 4 ember.js deprecation-warning htmlbars

我目前正在从Ember 1.8.1升级到Ember 1.13.9.我的应用程序是一种oldschool,不使用ember-cli(没有es6任何语法).

如何正确替换已弃用的Ember.Handlebars.registerBoundHelper:

Ember.Handlebars.registerBoundHelper('date-ago',function(date) {
  return moment.utc(date).fromNow();
});
Run Code Online (Sandbox Code Playgroud)

会建议你

DEPRECATION: `Ember.Handlebars.registerBoundHelper` is deprecated. 
Please refactor to use `Ember.Helpers.helper`. 
[deprecation id: ember-htmlbars.register-bound-helper]
Run Code Online (Sandbox Code Playgroud)

所以我想用'Ember.Helper.helper'替换'Ember.Handlebars.registerBoundHelper'会这样做,但是这些帮助器不再可用了:"未捕获的错误:断言失败:一个名为'date-ago'的助手不能找到了!".

如何在没有ES6语法或ember-cli魔法的情况下在Ember 2.0中注册htmlbars助手?

art*_*ych 7

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

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="$"}}
Run Code Online (Sandbox Code Playgroud)

jsbin在这里