我需要在Meteor会话中存储一个对象(字典)(例如:搜索条件),但我不清楚最好的方法是什么。
使用Session.set
和Session.get
有效,但很麻烦,因为它似乎会复制整个对象:
var dict = Session.get("x");
dict['some key'] = 5;
Session.set("x", dict)
使用全局变量不需要复制对象,但不会激发反应性(例如,对于全局变量dict
,dict['some key'] = 5;
不会触发依赖于dict
的模板。)
答案 0 :(得分:1)
如果您需要以更适合处理字典或其他任何结构的方式自定义事物,您可以使用Deps包轻松地向其他对象添加反应性 - 请查看this video。显然,语法总是比vanilla变量更加麻烦,但是完全可以通过这种方式使事情变得简洁。