我已经进入最新的Ember版本1.9.1和Handlebars 2.0.0版本。在这里,我收到了一个错误,如“使用Ember.Handlebars.get已弃用,请使用Component或Ember.Handlebars.makeBoundHelper”。如何获得handlebars注册助手的原始值?
我有这样的代码,
Handlebars.registerHelper('ifCond', function (temp_v1, operator, temp_v2, options) { // No I18N
var v1,v2;
v1 = Ember.Handlebars.get(this, temp_v1, options);
v2 = Ember.Handlebars.get(this, temp_v2, options);
if(v1 == undefined){
v1 = temp_v1;
}
if(v2 == undefined){
v2 = temp_v2;
}
switch (operator) {
case '==':
return (v1 == v2) ? options.fn(this) : options.inverse(this);
case '!=':
return (v1 != v2) ? options.fn(this) : options.inverse(this);
default:
return options.inverse(this);
}
});
在这里,我需要检查给定的字符串值相等。如果我删除了Ember.Handlebars.get(this,temp_v1,options)中的“Handlebars”,那么弃用错误将消失。但我无法获得temp_v1的原始值。
JSBIN LINK:JSBIN LINK
有点的建议:不使用在公顷任何逻辑运算ndlebars。它阻止你编写测试。 – saygun
你有什么建议摆脱ifs?逻辑在哪里? – Nicolas