我正在制作一个Ember. js应用程序,并将Handlebar用于模板。我创建了一个车把助手,目前如下所示:
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. Handlebar.encsterBoundHelper
而不是Ember.Handlebar.checksterHelper
:
Ember.Handlebars.registerBoundHelper('beautify', function(str) {
var str= new Ember.Handlebars.SafeString(str.replace(/_/g, ' '));
return str;
});