0

我有一个表单,我想在提交后为特定用户禁用 X 时间。我知道我必须使用TimersSession变量,但由于我没有看到任何使用 Timers 在线的示例,我不知道如何实现它。

这是我的提交事件地图:

Template.myform.events({
  'submit': function (e, t) {
    e.preventDefault();
    submitme();
    tempmarker.dragging.disable();
  }
});

我对会话变量有一个更具体的问题:它们有多“安全”?我的意思是,用户可以通过清空本地缓存来重置它们吗?

4

1 回答 1

0

您可以像正在做的那样在事件处理程序中禁用表单,然后只需设置一个超时,在特定时间后重新启用它:

Template.myform.events({
  'submit': function (e, t) {
    e.preventDefault();
    submitme();
    tempmarker.dragging.disable();
    // re-enable after 5s
    Meteor.setTimeout(function() { tempmarker.dragging.enable(); }, 5000);
  }
});

Session在 Meteor 中只是一个由 Meteor 在客户端的内存中管理的对象。它没有被缓存——如果你重新加载页面,Meteor 将再次启动并且你的所有Session数据都将重新初始化。使用会话来存储应用程序状态,但构建您的应用程序时,如果我弄乱了控制台中的会话值,它可以自行恢复。

于 2013-03-18T21:35:50.500 回答