传递给 Handlebars 助手的参数显示为键而不是值
Parameter passed to Handlebars helper appears as the key instead of the value
我正在制作一个 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>
但 handlebars 并没有将变量 "foo" 传递给助手,而是传递了字符串 "foo"。这特别奇怪,因为如果我尝试使用 helper
记录变量
{{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;
});
我正在制作一个 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>
但 handlebars 并没有将变量 "foo" 传递给助手,而是传递了字符串 "foo"。这特别奇怪,因为如果我尝试使用 helper
记录变量{{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;
});