次のように、ハンドルバーに単純な「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」として渡されることです。私のデバッガーでは、this[val1]が実際にfoo変数の期待値に設定されていることを確認できます。
Emberはどういうわけか動作を変更しますか?