传递给句柄帮助程序的参数显示为键而不是值

Parameter passed to Handlebars helper appears as the key instead of the value

本文关键字:显示 参数 句柄 帮助程序      更新时间:2023-09-26

我正在制作一个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>

但是,车把不是将变量"foo"传递给帮助程序,而是传递字符串"foo"。这尤其奇怪,因为如果我尝试使用助手记录变量

{{log foo}}

将显示正确的字符串。

你必须

使用Ember.Handlebars.registerBoundHelper而不是Ember.Handlebars.registerHelper

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