我正在制作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}}
显示正确的字符串。
答案 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;
});