Я перешел в последнюю версию Ember версии 1.9.1 и Handlebars версии 2.0.0. В этом я получаю сообщение об ошибке «Использование Ember.Handlebars.get устарело, используйте вместо этого компонент Component или Ember.Handlebars.makeBoundHelper».Как получить исходное значение в помощниках регистра руля?
У меня есть такой код,
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 (это, temp_v1, options), эта ошибка устаревания исчезнет. Но я не смог получить исходное значение temp_v1.
JSBIN LINK: JSBIN LINK
Небольшое предложение: не использовать какой-либо логическую операцию в га ndlebars. Это мешает вам писать тесты. – saygun
Каково ваше предложение избавиться от ifs? Где должна быть логика? – Nicolas