如何在Meteor注销时删除会话变量?

Lak*_*ect 1 session meteor

我为用户设置了会话变量,用于跟踪和服务器的小更改,当用户注销并且新用户登录而不关闭浏览器时,会话变量仍处于活动状态.

示例Session.set("变量",变量)Session.get("variable")

我想我正在寻找的是如何在用户注销时强制页面重新加载.

Mic*_*oyd 7

我有一个简单的注销模板,可以加载一个微调器:

<template name="logout">
  {{> spinner}} <!-- using sacha:spin package ->
</template>
Run Code Online (Sandbox Code Playgroud)

然后是一个帮助程序,它执行实际的注销以及所有清理工作.

Template.logout.rendered = function(){
  Meteor.logout(function(err){
    if ( err ){
      Alerts.add('Error logging out: '+err); // using mrt:bootstrap-alerts
    } else {
      // your cleanup code here
      Object.keys(Session.keys).forEach(function(key){
        Session.set(key, undefined);
      });
      Session.keys = {}; // remove session keys
      Router.go('/');  // redirect to the home page or elsewhere using iron:router
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

另请参阅how-do-i-delete-or-remove-session-variables