页面之间的会话变量重置

Session variable resetting between pages

我正在学习 Meteor,我正在尝试将反例与 Iron Router 结合使用。 一切都在计数器页面和路由中工作,除了当我在页面之间导航并返回计数器页面时,计数器重置为 0(在我单击并递增计数器之后)。 HTML 是:

<template name='counter'>
    <button>Click Me</button>
    <p>You've pressed the button {{counter}} times.</p>
</template>

而 javascript 是:

Session.setDefault("counter", 0);

Template.counter.helpers({                               
  counter: function () {
    return Session.get("counter");
  }
});

Template.counter.events({                                
  'click button': function () {
    Session.set("counter", Session.get("counter") + 10);
  }
});

我试过

Session.setDefault("counter", 0);

在 template.counter.rendered/template.counter.created 里面,但它是一样的。 有谁知道如何保证可以保留会话值?

似乎一切都按预期工作,这是我的问题:当我尝试测试动态路由时,有时我在浏览器上手动更改 URL 而不是使用 "go back"按钮或使用我自己的页面链接进行导航。 而且,正如所设想的那样,通过这样做我正在刷新页面,每次刷新页面时我都会丢失会话值...... 希望这对其他人有用。