Meteor API Session
2018-09-24 本文已影响0人
与时间赛跑_
会话在客户端提供了一个全局对象,您可以使用它来存储任意组的键值对。 用它来存储当前选中的项目在列表中。
Session的特别之处在于它是被动的。如果您从模板内部调用Session.get('currentList'),则只要调用Session.set('currentList',x),模板就会自动重新渲染。
要将Session添加到您的应用程序,请在您的终端中运行此命令:
Session.set也可以用键和值对象来调用,这相当于在每个键/值对上分别调用Session.set。
这在初始化代码中非常有用,以避免每次加载新版本的应用程序时重新初始化会话变量。
获取会话变量的值。 如果在被动计算中,则在下次通过Session.set更改变量的值时,使计算无效。 这将返回会话值的克隆,所以如果它是一个对象或数组,则对返回的值进行变异对存储在会话中的值没有影响。
测试一个会话变量是否等于一个值。 如果在反应计算中,则在下一次变量变为或者来自该值时,使计算无效。
如果value是一个标量,那么这两个表达式做同样的事情:
...但第二个总是更好。 它触发更少的失效(模板重绘),使您的程序更有效率。
这里使用Session.equals意味着当用户点击一个项目并改变选择时,只有新选择的和新选择的项目被重新渲染。
如果Session.get被用来代替Session.equals,那么当选择改变时,所有的项目都会被重新渲染。
对于对象和数组会话值,不能使用Session.equals; 相反,您需要使用下划线包并写入_.isEqual(Session.get(key),value)。