首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要遍历firebaseArray并返回1个对象

需要遍历firebaseArray并返回1个对象
EN

Stack Overflow用户
提问于 2016-05-29 06:51:59
回答 1查看 105关注 0票数 1

我试图访问在firebase数组中返回的数据,并返回其中的1个对象--我的firebase数组返回3个对象,我希望能够遍历这3个对象并比较数据。真的不知道该怎么做:

它的功能getNewsDetail是问题所在。

代码语言:javascript
复制
angular.module('news.services', ['ionic', 'firebase' ])
.factory('NewsItems', ['$firebaseArray', function($firebaseArray){
  var newsRef = new Firebase ('https://xxxx.firebaseio.com/newsitems');  

    var theNewsItems = [$firebaseArray(newsRef)];
    //alert($firebaseArray(newsRef).length)
    return{
    getNewsItems: function(){
        return $firebaseArray(newsRef);
    },
    getNewsDetail: function(newsID){
        for(var i = 0; i < theNewsItems.length; i++){
            if(theNewsItems[i].id == parseInt(newsID)){
                return theNewsItems[i];
            }
        }
        return null;
    }
    };

}]);

包括Firebase布局:

代码语言:javascript
复制
      newsitems
          -KIip4vmlntvakLoBAXA
                 Detail: "Detail Y"
                 Title: "Title X"
                 id: 0
          -KIipATckNU1WzEhkY9-
                Detail: "Come down and play with us"
                Title: "New Players Welcome"
                id: 1
          -KIipHiM2NYlh_BgG8UM
               Detail: "story 3"
               Title: "title 3"
               id: 2
EN

回答 1

Stack Overflow用户

发布于 2016-05-29 07:14:18

当您想要在AngularJS视图中使用Firebase中的单个对象时,可以使用$firebaseObject。所以:

代码语言:javascript
复制
getNewsItems: function(){
    return $firebaseArray(newsRef);
},
getNewsDetail: function(newsID){
    return $firebaseObject(newsRef.child(newsID);
}

Firebase在加载数据时足够智能,如果内存中已经有数据,它就不会重新加载数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37504465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档