我正在使用这个简单的聊天应用来学习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
,但他们都只是第一次开火。
答案 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
事件的回调。