2016-08-12 3 views
0

Это может показаться простым вопросом, но это тот факт, что я изо всех сил пытался найти документацию.Meteor Invert Boolean Helper

У меня есть помощник spacebars, который возвращает значения из коллекции в курсоре объектов для использования в блоке {{#each}}. Эти объекты имеют свойство boolean, которое я использую для проверки/снятия флажка.

Однако логические значения в базе данных должны быть инвертированы для использования в этом флажке. Если запись в коллекции имеет логическое свойство, оценивающее значение «false», мне нужно, чтобы оно было «истинным» в использовании.

{{#each records}} 
{{name}}: <input type="checkbox" checked="{{!checked}}"> 
{{/each}} 

Проблема здесь в том, что {{! сигнализирует spacebars комментарий, а не преобразовывать «ложь» в «истинно.»
В этом фрагменте {{!checked}} считается комментарием, а не помощником.

Теоретически, я мог бы запустить цикл forEach() в вспомогательной логике и инвертировать логические значения для каждого объекта. Тем не менее, я чувствую, что должен быть лучший способ для чего-то столь же простого, как это.

ответ

1

Просто сделайте себе not глобального помощника:

Template.registerHelper('not',(param)=>{ 
    return !param; 
}); 

Затем в любом шаблоне использовать {{not checked}}