【发布时间】:2014-10-04 17:10:46
【问题描述】:
我正在开发的应用程序正在执行以下操作:
用户登录后,用户可以输入数据,然后在屏幕上查看数据。登录用户也可以删除数据并在屏幕上查看更改。
我的问题是:
当用户注销并且另一个用户使用同一浏览器登录时,会显示为前一个用户输入的数据。必须刷新才能查看当前登录用户的数据。
和
当用户注销、关闭浏览器并且新用户打开新浏览器并登录时 - 根本不会出现任何数据。必须刷新才能看到数据。
我正在使用发布和订阅。我正在使用 Session.set、get 和 equals 成功突出显示特定行(tr)。我尝试使用会话获取数据,但到目前为止还没有运气。 花了一些时间研究,但不幸的是没有运气应用我读过的任何东西。
【问题讨论】:
-
可能在用户注销 Session.keys = {} 时尝试清理会话,并在用户登录 Meteor.startup 时设置必要的会话变量。如果这不起作用,请提供更多代码:订阅、帮助程序等
-
Session.set 为 null 时注销有帮助。至少现在在同一个浏览器中注销并返回时,在刷新之前什么都没有显示。在此之前,前一个用户的数据会显示出来。我想我还有一些阅读要做。
-
给我们一些代码以便大家帮忙。
-
挂钩 session.set 到登录按钮点击事件
-
看了这个github.com/meteor/meteor/tree/master/packages/accounts-ui之后。我会尝试在模板事件帮助程序中使用“单击 .login-button”。我使用的是我自己的模板,所以在这里不会有太大帮助。