有没有办法命名Meteor.js Session?在较大的应用程序中,我可能会意外地替换现有会话。如果我使用命名空间会话,这个机会就会降低。
我想到的只有当前实现的解决方案是:
Session.set('namespace1Value');
Session.set('namespace2Value');
我想做点什么:
var sectionFoo = Session.section('foo');
sectionFoo.set('bar');
Meteor是否支持Session命名空间?
答案 0 :(得分:0)
如this讲话中所见,本地无功状态将成为Meteor UI的一部分,我们可以预期Meteor 1.0(2014年初到期)。现在,我只使用长会话变量名。
答案 1 :(得分:0)
我认为这应该做你想要的。如果您觉得它很有用,您可能需要打包并将其发布到Atmosphere。
_.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);
}
}
}
});