我正在编写一个基本的流星应用程序,我问自己如何通知其他会话的变化。
我有一个显示文档详细信息的基本模板。 有人可以删除这个文件, 如何通知正在观看此文档的其他会话,它已被删除并重定向?
答案 0 :(得分:0)
如果您通过直接访问您的集合客户端来显示您的文档(即您不使用某种方法),那么您的页面字段值应该被动地消失,因为该文档不再存在。
您可以执行的操作是在文档中添加字段deleted
,当它更改为true
时,您会显示通知。我建议使用像模态这样的东西,所以用户不能躲避它(当他关闭它时,你重定向)。
这也意味着,其他用户只需将其deleted
字段更改为true
,而不是删除文档。将其设置为true
后,您还可以设置时间差异功能,以便有效删除文档,例如5百万之后:
Meteor.setInterval(function () {
Document.remove(yourDocumentID);
}, 300000)
答案 1 :(得分:0)
如果您的文档位于集合中,并且删除对应于从集合中删除文档,则可以使用集合上的Meteor observe在您正在观看的文档被删除时注册回调:
Documents.find({_id: myDocumentId}).observe({
removed: function () {
console.log('document removed');
}
});
从那里做任何想要通知客户端更改的DOM /会话操作。