传递给Handlebars帮助器的参数显示为键而不是值

时间:2016-01-29 11:45:08

标签: javascript ember.js handlebars.js

我正在制作Ember.js应用程序,并使用Handlebars作为模板。我创建了一个当前看起来像这样的把手助手:

Ember.Handlebars.registerHelper('beautify', function(string) {
    var str= new Ember.Handlebars.SafeString(string.replace(/_/g, ' '));
    return str;
});

并称之为:

        <td class="small-cell">{{beautify foo}}</td>

但不是传递变量&#34; foo&#34;对帮助者来说,把手传递了字符串&#34; foo&#34;。这特别奇怪,因为如果我尝试使用帮助器

记录变量
{{log foo}}

显示正确的字符串。

1 个答案:

答案 0 :(得分:2)

您必须使用Ember.Handlebars.registerBoundHelper代替Ember.Handlebars.registerHelper

Ember.Handlebars.registerBoundHelper('beautify', function(str) {
    var str= new Ember.Handlebars.SafeString(str.replace(/_/g, ' '));
    return str;
});