在Meteor会话中存储对象

时间:2013-12-30 21:52:57

标签: javascript dictionary meteor session-state

我需要在Meteor会话中存储一个对象(字典)(例如:搜索条件),但我不清楚最好的方法是什么。

使用Session.setSession.get有效,但很麻烦,因为它似乎会复制整个对象:

var dict = Session.get("x");
dict['some key'] = 5;
Session.set("x", dict)

使用全局变量不需要复制对象,但不会激发反应性(例如,对于全局变量dictdict['some key'] = 5;不会触发依赖于dict的模板。)

1 个答案:

答案 0 :(得分:1)

如果您需要以更适合处理字典或其他任何结构的方式自定义事物,您可以使用Deps包轻松地向其他对象添加反应性 - 请查看this video。显然,语法总是比vanilla变量更加麻烦,但是完全可以通过这种方式使事情变得简洁。