我正在开发类似于Facebook新闻Feed的新闻Feed。我按以下顺序实现它:
当应用程序启动时,获取所有内容,但只需按两个项目即可显示。
用户可以向下滚动查看更多内容,我会在列表中添加更多内容。
如果有任何新项目,用户需要拉动刷新以添加新项目。
我现在唯一的问题是每次添加一个项目时,$firebaseArray
会自动将新项目添加到我不希望snyc更改的数组中(我想查询一次,获取一套清单)。我想知道是否有人知道如何阻止自动更新?
答案 0 :(得分:1)
查看.once,这样您只需获取一次数据:https://firebase.google.com/docs/reference/js/firebase.database.Query#once
答案 1 :(得分:0)
不是直接将$firebaseArray
绑定到视图,而是将其克隆到将绑定到视图的范围(或控制器)属性。在用户进行重新加载时可以调用的函数中对此过程进行分解,以便重新创建$firebaseArray
。
更合适的方法是使用Firebase的http api和角度$http
服务。
编辑:要将数组克隆到范围var,请尝试以下操作:
var allEvents = $firebaseArray(queryOfeverything);
allEvents.$loaded()
.then(function(events){
$scope.allEvents = angular.map(events, function(event) {
return event; // you may want to replace this line - I am not very familiar with firebase.
})
});