Session Meteor会话命名空间

Session Meteor会话命名空间,session,meteor,Session,Meteor,有没有办法命名Meteor.js会话?在较大的应用程序中,我可能会意外地替换现有会话。如果我使用名称空间的会话,这种可能性更低 我想到的当前实施中唯一的解决方案是: Session.set('namespace1Value'); Session.set('namespace2Value'); 我想做一些类似的事情: var sectionFoo = Session.section('foo'); sectionFoo.set('bar'); Meteor将支持会话名称空间吗?正如在谈话中所看

有没有办法命名Meteor.js会话?在较大的应用程序中,我可能会意外地替换现有会话。如果我使用名称空间的会话,这种可能性更低

我想到的当前实施中唯一的解决方案是:

Session.set('namespace1Value');
Session.set('namespace2Value');
我想做一些类似的事情:

var sectionFoo = Session.section('foo');
sectionFoo.set('bar');

Meteor将支持会话名称空间吗?

正如在谈话中所看到的,本地反应状态将是Meteor UI的一部分,我们可以期待Meteor 1.0(将于2014年初推出)会出现这种情况。现在,我只使用长会话变量名。

我认为这应该满足您的要求。如果您发现它很有用,您可能希望将其打包并发布到大气中

_.extend(Session, {
  /**
   * Returns a wrapper around Session
   * which automatically prepends
   * the specified name to all keys.
   *
   * @method namespace
   * @param {String} name Name of namespace
   * @param {String} [separator] Separator for prepended
   *                 name. Default is '-'
   * @return {Object} Namespaced session object
   */
  namespace: function (name, separator) {
    var ns;

    separator = separator || '-';
    ns = name + separator;

    return {
      get: function (key) {
        return Session.get(ns + key);
      },
      set: function (key, value) {
        return Session.set(ns + key, value);
      },
      setDefault: function (key, value) {
        return Session.setDefault(ns + key, value);
      },
      equals: function (key, value) {
        return Session.equals(ns + key, value);
      }
    }
  }
});

命名空间“foo”是否可以保留为另一个会话变量?然后
Session.set(Session.get('namespace')+'bar',value\u表示\u foo\u bar)