如何让Meteor中的Session在单独的窗口中显示?

时间:2014-02-25 23:06:52

标签: javascript meteor

我是流星新手。在我的client.js文件中,我有:

if(Meteor.isClient) {
Template.infooutput.output = function() { 
return Session.get("info"); }

我有一个模板:

<template name="infooutput">
{{output}} 
</template>

然后在我的主页

<body>
{{>infooutput}}
</body>

现在通过控制台,如果我设置了Session.set(“info”,“hello”) 我在屏幕上看到“你好”。这样工作正常但是如果我打开另一个浏览器选项卡,打开同一页面,我看不到“你好”。只有使用集合才能实现此更新功能吗?另外,我对会话的目的有点困惑。你能告诉我为什么会用它吗?我是否可以在多个浏览器(其他用户正在查看)中显示当前会话更新而不保存到我的收藏数据库? 如果是这样,我该怎么做?

1 个答案:

答案 0 :(得分:3)

会话数据与当前浏览器实例(包括选项卡)隔离 - 因此打开新选项卡将为您提供干净的状态。会话变量旨在成为程序员控制的手段,以在单个客户端上创建反应。它们是可以触发客户端UI更新的多个reactive data sources之一。

Meteor旨在通过集合与客户端同步数据,但社区成员已经开发了其他技术。最引人注目的是streams

还值得注意的是,服务器可以将文档发布到客户端,这些文档不一定在数据库中表示。有关详细信息,请参阅this answer