我试图为我的网站管理员创建简单的通知系统,我只需要发送实时消息给每个管理员用户。但当我使用firebase时,它会在每个页面上加载旧数据,并且用户可以看到数据库中的所有消息。如果我设置了limit(1),用户将在每次页面重新加载时看到最后一次通知:
var eventsList = new Firebase('https://*****-messages.firebaseio.com/');
eventsList.on('child_added', function(message) {
var message = message.val();
$.notification(message.message);
});
如何只加载新消息,而不加载旧的通知历史记录?
发布于 2013-08-17 07:18:58
这是经过设计的,在实时系统中没有“最新”数据的概念,因为它总是在变化。但是,如果希望在加载页面后仅显示添加到列表中的项目,则可以执行以下操作:
var newItems = false;
var eventsList = new Firebase('https://*****-messages.firebaseio.com/');
eventsList.on('child_added', function(message) {
if (!newItems) return;
var message = message.val();
$.notification(message.message);
});
eventsList.once('value', function(messages) {
newItems = true;
});
https://stackoverflow.com/questions/18270995
复制相似问题