流星 - 如何通知其他会话

时间:2015-06-10 11:58:10

标签: meteor

我正在编写一个基本的流星应用程序,我问自己如何通知其他会话的变化。

我有一个显示文档详细信息的基本模板。 有人可以删除这个文件, 如何通知正在观看此文档的其他会话,它已被删除并重定向?

2 个答案:

答案 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 /会话操作。