1

您如何处理 Session 中的“不稳定”值?例如,我在会话中持有表单验证错误。但我不希望它们在页面刷新或更改页面后出现。

4

2 回答 2

5

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

Template.signin.destroyed = function(){
  Session.set('signinValidationErrors', null);
}

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

于 2013-10-06T15:52:42.930 回答
0

如果您想在离开页面后删除 Session 变量,您可以在以下选项中进行选择:

Session.set('validationErrors', null);
// or
Session.keys.validationErrors = null;
// or
Session.keys['validationErrors'] = null;
// or
delete Session.keys.validationErrors;
// or
delete Session.keys['validationErrors'];

每当用户离开页面时,onDestroyed就会执行。将您的选择放在那里,它将清除 Session 变量

Template.myPage.onDestroyed(function (){
    // put your choice here
});
于 2018-09-21T10:10:41.013 回答