流变火焰模板不会在响应变量的更改后重新呈现

时间:2020-03-26 12:14:27

标签: templates meteor reactive-programming meteor-blaze reactive

场景:单击下拉按钮时,应显示模型的字段。

模板:producer.html

<template name="producer">
    <li>
        <a href="{{producerName}}" >{{producerName}}</a>
        <button class="expand">&#8964;</button>
        {{#if expanded}}
            <form>....</form>
        {{/if}}
    </li>
</template>

客户端JS:producer.js

// creating the reactive variable
Template.producer.onCreated(
    function () {
        this.expanded = new ReactiveVar(false);
    }
);

// helper
Template.producer.helpers = {
    expanded() {
        return Template.instance().expanded.get();
    }
};

// event listener
Template.producer.events({
    'click .expand'(event, instance) {
        instance.expanded.set(!instance.expanded.get());
    }
});

在调试时,很明显,反应变量的值已相应更改。但是,模板不能呈现预期的形式。我想念什么?

1 个答案:

答案 0 :(得分:3)

您定义的模板助手错误,应该是

Template.producer.helpers({
    expanded() {
        return Template.instance().expanded.get();
    }
})