我想在新帖子到达时注意我的网络应用用户,而无需刷新页面。我使用firebase和angularfire作为包装器。
这是我的代码:
var query = Refs.getDeptRef("IT").orderByChild("timestamp").limitToLast(25);
var talks = $firebaseArray(query);
talks.$watch(function (e) {
alert('new post arrived');
});
以上代码在新帖子到达时有效,但是,当我刷新页面(或第一次加载页面)时,警报会弹出数百次!如何让它只在页面加载后观看新帖子?感谢您的评论。
答案 0 :(得分:0)
您可以使用$watch
:
返回初始数组数据时解析的promise 已从数据库下载。承诺解决了 $ firebaseArray。
然后在检索到初始数据时使用var query = Refs.getDeptRef("IT").orderByChild("timestamp").limitToLast(25);
var talks = $firebaseArray(query);
talks.$loaded().then(function(initialData) {
console.log(initialData);
talks.$watch(function(data) {
console.log(data);
});
});
。
例如:
var isTouch = 'ontouchstart' in document.documentElement;
google.maps.event.addListener(map, 'click', function(event) {
if(isTouch)
console.log("Touched");
else
console.log("Can't touch this");
});