这个想法非常简单我需要在更改记录数量或将新消息插入doc(同样的事情)时进行向下滚动消息提要。
当前实现使用set interval来继续检查db更改:
1
0
这很好用,但我讨厌使用setInterval()的想法。 尝试使用Template.my_template.onRendered执行此操作,但这将在每个呈现的模板上执行一个函数,这意味着如果我在启动时渲染了50条消息,它将自动滚动50次而没有太多用途。
你们可以在不使用setInterval的情况下考虑更好的CLEAN解决方案吗?
答案 0 :(得分:2)
您可以在onRendered
回调中使用autorun:
Template.messenger.onRendered(function() {
this.autorun(function() {
if (Messages.find().count())
Template.messenger.methods.scrollDown();
});
});
由于计数是被动的,autorun
每次发生变化时都会触发。尝试添加并删除scrollOnNewMessages
中的onCreated
及其引用。