Meteor - 在页面更改/重新加载时从会话中删除

Luc*_*que 1 session meteor

你如何处理Session中的"volatile"值?例如,我在会话中持有表单验证错误.但我不希望他们在页面刷新或更改页面后出现在那里.

Dav*_*don 5

会话变量不能在手动页面刷新(ctrl + r)后继续存在.如果您希望在页面转换后清除某些变量,则可以将清除代码放入路由器或模板的destroyed回调中(我通常会选择后者).例如,如果您有一个名为的模板,signin您可以这样做:

Template.signin.destroyed = function(){
  Session.set('signinValidationErrors', null);
}
Run Code Online (Sandbox Code Playgroud)

每当您离开登录页面(模板被销毁)时,它都会清除signinValidationErrors.