javascript - Meteor:将 RegExp 对象保存到 session

标签 javascript regex mongodb session meteor

我试图在 Meteor Session 中为 MongoDB 查询将正则表达式保存为 RegExp 对象,但在 Session.get() 之后,RegExp 对象只是一个空对象。

js

if (Meteor.isClient) {
    Meteor.startup(function () {
          var obj = {};
          obj['regexp'] = new RegExp("test");
          console.log("setting regular expression: " + obj['regexp']);
          Session.set("test", obj);
    });

    Template.test.events({
        'click button': function () {
            var regex = Session.get("test");
            console.log("now it is: ");
            console.log(regex['regexp']);
        }
    });
}

if (Meteor.isServer) {
}

html

<head>
  <title>meteor-regexp-session-test</title>
</head>

<body>
  {{> test}}
</body>

<template name="test">
  <button>hit the button and look at the console</button>
</template>

知道为什么这不起作用吗?

提前致谢!

最佳答案

您需要保存正则表达式源:

var regex = new RegExp('test');
Session.set('regex', regex.source);

...

var restoredRegex = new RegExp(Session.get('regex'));
console.log(restoredRegex);

参见:http://meteorpad.com/pad/KJHJtQPEapPhceXkx

关于javascript - Meteor:将 RegExp 对象保存到 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25544805/

相关文章:

javascript - 是否可以将条件或其他 javascript 作为参数传递给 ember handlebars?

javascript - 字符串到数字错误

javascript - Rails 新模型 Ajax 响应

javascript - 使用javascript重命名输入中的文本(每点更改空间)

C# - 删除与正则表达式匹配的行

python - mongoengine如何过滤字段不为空?

c++ - 使用正则表达式regex_search在字符串中查找字符串

python - 替换除数字之间或后跟特定文本之外的所有点

mongodb - 子文档上的 Mongoose 唯一索引

mongodb - 在 Amazon EBS 上使用预置 IOPS 时是否需要在 Mongo 上运行 RAID 10?