2015-09-05 49 views
4

我目前從Ember 1.8.1升級到Ember 1.13.9。我的應用程序通過不使用ember-cli(沒有es6任何語法)而成爲老式學校。如何解決Ember 1.13.9中不推薦使用的Ember.Handlebars.registerBoundHelper?

如何正確更換過時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更換'Ember.Handlebars.registerBoundHelper'。 Helper.helper'會做,但這些助手不再可用:「未捕獲的錯誤:斷言失敗:找不到名爲'date-ago'的助手!」。

如何在沒有ES6語法或ember-cli魔法的Ember 2.0中註冊htmlbars幫助器?

回答

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="$"}} 

jsbin here

+0

真棒。作品!很好的例子 - 我喜歡參數值使用的東西, – justastefan

+0

示例來自指南:http://emberjs.com/api/classes/Ember.Helper.html – artych

+0

通過App.FormatCurrencyHelper = ...註冊助手不在文檔中。之前它以registerHelper(「格式貨幣」,)以某種方式完成,它的工作。所以謝謝你更清楚地指出這一點。 – justastefan

相關問題