阻止Firebase $ firebaseArray自动更新

时间:2016-09-06 04:00:57

标签: angularjs ionic-framework firebase angularfire

我正在开发类似于Facebook新闻Feed的新闻Feed。我按以下顺序实现它:

  1. 当应用程序启动时,获取所有内容,但只需按两个项目即可显示。

  2. 用户可以向下滚动查看更多内容,我会在列表中添加更多内容。

  3. 如果有任何新项目,用户需要拉动刷新以添加新项目。

  4. 我现在唯一的问题是每次添加一个项目时,$firebaseArray会自动将新项目添加到我不希望snyc更改的数组中(我想查询一次,获取一套清单)。我想知道是否有人知道如何阻止自动更新?

2 个答案:

答案 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.
        })
    });