【问题标题】:Meteor session not getting set in Template eventsMeteor 会话未在模板事件中设置
【发布时间】:2016-07-11 06:25:53
【问题描述】:

我想在我的模板中显示一个按钮,该按钮是否显示取决于session 值是truefalse。但是,当我想在事件中将会话设置为 false 时,它​​不会发生:

<template name="Home">
    {{#if reload}}
        <a class="btn btn-primary fontScale reloadBtn" href="#" id="reload"><i class="fa fa-refresh fa-lg"></i> Reload</a>
     {{/if}
</template>

Template.Home.helpers({
    reload: function(){
        .........
        (imgCount1 > imgCount) ? Session.set('more',true):Session.set('more', false);
        return Session.get('more');

     }
});

Template.Home.events({
    ......
    "click #reload": function(){
         Session.set('more', false);
    }
});

单击按钮后如何将会话变量设置回false

【问题讨论】:

  • 1) 签入调试器,您可以在点击时访问click 事件。这似乎是对的,但你可能会遗漏一些东西。 2)检查你的助手中发生了什么:你正在做一个测试以在get之前将Session设置为true所以你确定这不是重置点击事件中发生的事情吗?

标签: meteor meteor-blaze meteor-helper


【解决方案1】:

我猜你的助手正在保持会话变量为真。单击按钮时,您正在设置会话变量,而不是图像计数。 如果是这种情况,只需在 click 事件和 helper 中添加一些日志记录,您可能会看到其中一个覆盖了另一个的值。

【讨论】:

    猜你喜欢
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 2015-10-07
    • 2015-03-10
    • 2014-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多