2015-04-17 4 views
0

У меня есть функции шаблона помощника, который преобразует мои Монго _ID поля в виде строки:Использование функции шаблона в условном операторе

Template.registerHelper('formatMongoId', function(data) { 
    return (data && data._str) || data; 
}); 

Я хочу, чтобы использовать его в условном операторе в шаблоне:

{{#if $eq box_group_id formatMongoId ../_id._str}} 
    .... 
{{/if}} 

но это не работает - любые идеи?

Примечание: бит $ eg является помощником сравнения от стороннего пакета.

ответ

1

Метеор не сделать вы следуете строгим MVC, но вы по существу пытаетесь втиснуть кучу логики в слой вида. Вместо этого переместите всю эту логику в один помощник.

{{#if isEqual box_group_id ../_id._str}} 

Template.foo.helpers({ 
    isEqual: function (id1, id2) { 
    return idStr(id1) === idStr(id2); 
    } 
}); 
function idStr(id) { 
    return id && id._str || id; 
} 

Теперь, когда вы проснетесь через неделю, вы будете иметь возможность читать ваш HTML & понять, что происходит.

Смежные вопросы