流星助手返回一个可用 class

Meteor helpers returning a useable class

这里是 Meteor 菜鸟,正在尝试掌握模板的窍门。所以我在 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>

但是,我没有像预期的那样获得 active/nope 课程。 sectionContainer 嵌套在另一个模板中,如果这很重要的话。我觉得我在这里遗漏了一些非常简单的东西,我做错了什么?

使用已弃用的语法它工作得很好:

Template.sectionContainer.isActive = function() {
    return (Session.get("activeSection") === 'start') ? "active" : "nope";
}

即使从控制台运行 Template.sectionContainer.helpers.isActive() returns 正确的值。

你应该像这样使用它:

Template.sectionContainer.helpers({
    isActive: function() {
        return Session.equals("activeSection", "start") ? "active" : "nope";
    }
});

如果可行:

Template.sectionContainer.isActive = function() {
   return (Session.get("activeSection") === 'start') ? "active" : "nope";
}

然后在新语法中它将是:

Template.sectionContainer.helpers({
    isActive: function() {
        return (Session.get("activeSection") === 'start') ? "active" : "nope";
    }
});