我正在尝试访问firebase数组中返回的数据并返回其中一个对象 - 我的firebase数组返回3个对象,我希望能够遍历这3个对象并比较数据。真的不确定该怎么做:
它的函数getNewsDetail就是问题。
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布局:
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
答案 0 :(得分:0)
如果要在AngularJS视图中使用Firebase中的单个对象,请使用getNewsItems: function(){
return $firebaseArray(newsRef);
},
getNewsDetail: function(newsID){
return $firebaseObject(newsRef.child(newsID);
}
。所以:
{{1}}
Firebase在加载数据方面非常智能,如果它已经在内存中,它就不会重新加载它。