我试图实现一个简单的" if-equal"车把上的帮手,如:
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会以某种方式改变行为吗?
答案 0 :(得分:4)
Ember.Handlebars.registerHelper
只是传入字符串。正在处理registerBoundHelper
,但在您的情况下,这应该可以正常工作。
Ember.Handlebars.registerHelper('ifeq', function(val1, val2, options) {
return (this.get(val1) == val2) ? options.fn(this) : '';
});