javascript – Meteor会话和浏览器刷新

当页面刷新时,Meteor会话是否重置?

由于某种原因,我不认为他们有,但它似乎像他们做的。有没有办法让他们坚持?

如果不是什么会是这个的最佳解决方案?

我想允许相同的数据显示,如果用户刷新(这个数据是特定于用户),即使他们还没有注册。

最佳答案
实际上你可以做的是创建一个“子类”Session,当set()被调用时,它存储Amplify的存储值。您将自动继承Session的所有反应属性。这里是代码,它为我工作:

SessionAmplify = _.extend({}, Session, {
  keys: _.object(_.map(amplify.store(), function(value, key) {
    return [key, JSON.stringify(value)]
  })),
  set: function (key, value) {
    Session.set.apply(this, arguments);
    amplify.store(key, value);
  },
});

只需用SessionAmplify.set / get调用替换所有的Session.set / get调用。当调用set()时,将调用父Session方法,以及amplify.store()。当第一次创建“子类”时,它会将放大器存储中的所有内容加载到其键中,以便可以立即使用get()检索它们。

您可以在这里测试Leaderboard示例的工作变体:https://github.com/sebastienbarre/meteor-leaderboard

转载注明原文:javascript – Meteor会话和浏览器刷新 - 代码日志