我是流星新手。在我的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”)
我在屏幕上看到“你好”。因此,这很好用,但是如果我打开另一个浏览器选项卡并打开同一页面,则看不到“ hello”。此更新功能是否只能通过使用集合来实现?另外,我对会议的目的有些困惑。您能告诉我为什么要使用它吗?是否可以在多个浏览器(其他用户正在查看)中显示当前会话更新,而无需保存到我的收藏数据库?
如果是这样,我该怎么办?

最佳答案

会话数据被隔离到当前浏览器实例(包括标签)中-因此打开新标签将使您处于干净状态。会话变量被设计为程序员控制的手段,以在单个客户端上创建反应性。它们是可以触发客户端UI更新的几个reactive data sources之一。

Meteor旨在通过集合与客户端同步数据,但是社区成员还开发了其他技术。最值得注意的是streams

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

09-12 00:10