Метеорские помощники возвращают полезный класс

Метеоритный нуб здесь, пытаясь освоить шаблоны. Итак, у меня есть этот набор в 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";
    }
});
Другие вопросы по тегам