我目前有一个看起来像的助手:
Ember.Handlebars.registerHelper('ifEq', function(a, b, opts) {
if (a == b) {
return opts.fn(this);
} else {
return opts.inverse(this);
}
});
在我的模板中,我做了
GRAPH_TYPE: {{graphType}}
{{#ifEq graphType "p_graph"}}
TEST1
{{else}}
TEST2
{{/ifEq}}
但是,显示
GRAPH_TYPE: p_graph TEST2
这让我很困惑,因为上面应该有一个完全的字符串匹配。
所以,我挖掘了网络检查员并注意到Handlebars助手中a
的值为graphType
。为什么没有传入的值,我如何确保传入它?
答案 0 :(得分:1)
您需要将其注册为绑定帮助程序:
Ember.Handlebars.registerBoundHelper('ifEq', function(a, b, opts) {
^ like so
当你注册一个普通/基本的帮助器时,你会看到你正在目击的字符串值传入的参数。
但是,如果您希望将参数字符串绑定到模板中的属性(在本例中为您的属性),则需要使用上面的函数签名。