Meteor中的简单聊天程序。当新邮件进入时,如何将回调挂钩?

时间:2015-07-10 23:38:03

标签: javascript meteor reactive-programming

我正在使用这个简单的聊天应用来学习Meteor,我有点卡在这里。我有一个很好的工作聊天室,但是当我从另一个人那里聊来时,我很难连接一个功能。我想自动滚动到窗口底部,并在发生这种情况时更新favicon通知。我有一个模板chatWindow,如下所示:

<template name="chatWindow">
    <div class="textWindow">
        {{#each messages}}
            <span class="username {{#if me}}me{{/if}}">{{username}}</span><span class="message">{{message}}</span>
            <br />
        {{/each}}
    </div>
    <br />
    <form>
        {{#if currentUser}}
            <input type="text" name="chatTextBox" id="chatTextBox" />
        {{/if}}
    </form>
</template>

{{#each messages}}块非常适合自动获取更新的聊天消息集合,但如何在事件更新时触发事件?我已尝试Template.chatWindow.onRender()Template.chatWindow.rendered,但他们都只是第一次开火。

1 个答案:

答案 0 :(得分:1)

观察通常是去这里的方式。假设messages存储在集合Messages中,您可以执行以下操作:

Messages.find().observe({
  added: function (document) {
    // Set some Session vars or do some jquery or update other collections
  }
});

Observe适用于客户端和服务器,也可以注册文档changed事件和文档removed事件的回调。