meteor会话和跟踪器

现在在 Microscope 下,用户在 App 中的当前状态是完全包含在 URL 里面,并且需要从 URL (或者数据库)里面寻找。

但是在许多情况下,你需要存储一些只对应于当前用户的应用程序版本的短暂状态(例如,一个元素是否显示或隐藏)。利用 Session 可以很方便地去做到这一点。

Session 是一个全局的响应式数据存储。它全局性的意思是全局的单例对象:这个 Session 对象在全局都是可被访问到。全局变量通常被认为不是一件什么好事,Session 可以作为中央通信总线用于项目的不同地方。

 

修改session

Session.set('mySession',item)

mySession为session名称,item为session中要存储的数据,方法在本地存储 item数据,通过Session.get('mySession')来返回session

 

session的自动跟新需要使用跟踪器(tracker)

 

Deps是老版本的tracker;

使用tracker前需要安装tracker包,meteor add tracker

自动运行(Autorun)机制。顾名思义,每一次 autorun 上下文中的响应式数据源发生变化的时候,autorun 函数就会自动运行。

Tracker.autorun方法用于持续关注 tranckSession 的值。每当这个对象的变化,该模板将自动更新。

 

如果我们手动去重载浏览器窗口,自然就会丢失我们的 Session 变量(因为这将会创建一个新的会话)。另一方面,如果我们是引发动态代码重载(即,通过修改并保存我们的源文件)去重新加载页面,Session 变量却仍然存在。

因此,如果使用 Session 变量来保存用户状态,用户几乎不会察觉到动态代码重载的发生。因为它将保留所有 Session 变量的值。这可以使我们在部署新版本的时候,用户发生中断的机会降到最低。

再想一想,这意味着,只要我们做到用 URL 和 Session 把所有状态保存下来,那么当更新版本的时候,客户端正在运行的应用程序就可以动态重载,不丢失任何数据。

 

注:该meteor教程为之前本人学习meteor时做下的记录文件,故会有较多的截图示意,当然,一些多余的console.log()请各位多多包涵,希望这些经验可以帮助到大家,另外,希望大家在编码时有良好的编码习惯。谢谢。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乾复道

与君共勉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值