Метеорские помощники возвращают полезный класс
Метеоритный нуб здесь, пытаясь освоить шаблоны. Итак, у меня есть этот набор в JS:
Session.set('activeSection', 'start');
Template.sectionContainer.helpers = ({
"isActive": function() {
return (Session.get("activeSection") === 'start') ? "active" : "nope";
}
});
а затем иметь:
<template name="sectionContainer">
<section class="{{isActive}}"></section>
</template>
Тем не менее, я не получаю активные / нету классов, как я ожидал. sectionContainer
вложен в другой шаблон, если это имеет какое-либо значение. Я чувствую, что мне здесь не хватает чего-то очень простого, что я делаю не так?
Он работает просто отлично, используя устаревший синтаксис:
Template.sectionContainer.isActive = function() {
return (Session.get("activeSection") === 'start') ? "active" : "nope";
}
Даже бег Template.sectionContainer.helpers.isActive()
из консоли возвращает правильное значение.
2 ответа
Решение
Если это работает:
Template.sectionContainer.isActive = function() {
return (Session.get("activeSection") === 'start') ? "active" : "nope";
}
тогда в новом синтаксисе это будет:
Template.sectionContainer.helpers({
isActive: function() {
return (Session.get("activeSection") === 'start') ? "active" : "nope";
}
});
Вы должны использовать это как:
Template.sectionContainer.helpers({
isActive: function() {
return Session.equals("activeSection", "start") ? "active" : "nope";
}
});