我正在尝试在车把中实现一个简单的“if-相等”助手,如下所示:
Ember.Handlebars.registerHelper('ifeq', function(val1, val2, options) {
return (val1 == val2) ? options.fn(this) : '';
});
并像这样使用它(让我们假设foo变量设置为“bar”):
{{#ifequal foo "bar"}} show something {{/ifequal}}
问题是,当传入val1时,它作为字符串“foo”传入,而不是foo变量的实际值。在我的调试器中,我可以验证这个[val1]实际上设置为foo变量的期望值。
Ember会以某种方式改变行为吗?
Ember. Handlebar.checksterHelper
只是传入字符串。正在处理一个寄存器BoundHelper
,但在您的情况下,这应该可以。
Ember.Handlebars.registerHelper('ifeq', function(val1, val2, options) {
return (this.get(val1) == val2) ? options.fn(this) : '';
});