我正在开发一个从firebase加载数据的离子应用程序。在这种情况下,我有一个名为NoteStore的.factory读取firebase中的特定表(例如“lakes”)。
{
"lake": {
"one": {
"bio": "xxxx",
"shortname": "xxxx",
"name": "xxxxx",
"reknown": "xxxx",
"image":"xxxxx"
},
"two": {
"bio": "xxxx",
"shortname": "xxxx",
"name": "xxxxx",
"reknown": "xxxx",
"image":"xxxxx"
}
}
}
这是从firebase读取的.factory代码:
//get all lake activites
getAllLakes: function(){
return $firebaseArray(ref.child('lake'));
},
//get individual lake activites
getLake: function(lakeId){
return $firebaseObject(ref.child('lake').child(lakeId));
}
我的app Controller然后通过NoteStore获取数据并调用函数“getAllLakes():
app.controller('LakeActivitiesListController', function($scope, NoteStore, $localStorage) {
$scope.alllakes = NoteStore.getAllLakes();
}
主要问题是我想从firebase中的“lake”表访问单个对象,以便我能够将它们存储在localStorage中。
然后显示如下对象数组:
当我刚创建一个如下所示的对象并保存到localStorage时,它工作正常,如下图所示。
var myObj = [
{
name: 'james',
title:'doctor'
},
{
name: 'jojo',
title:'doctor'
}
];
console.log(myObj);
//
window.localStorage['lakes'] = JSON.stringify(myObj);
$scope.data = JSON.parse(window.localStorage.getItem('lakes'));
我正在研究我的大学项目已逾期。请帮忙。我想要的是能够访问包含来自firebase的对象的数组,以便我可以将它们存储在localStorage中。 请。
答案 0 :(得分:3)
angular.forEach是方法,这是一个例子:
迭代对象数组的示例:
var array_of_objects = [{name: 'Jimi', gender: 'male'},{name: 'Peter', gender: 'male'},{name: 'Bob', gender: 'male'}];
angular.forEach(array_of_objects, function(item, index) {
console.log(item, index);
});
对象迭代的示例:
var my_object = {name: 'Jimi', gender: 'male', age: '25'};
angular.forEach(my_object, function(value, key) {
console.log(value, key);
});
在您的情况下,您希望在angular.forEach
上创建$scope.alllakes
,然后在存储中推送您想要的对象
答案 1 :(得分:-1)
问题是,你有一个对象而不是一个数组。您可以使用
循环遍历对象的不同成员for(var propertyName in myObject) {
// propertyName is what you want
// you can get the value like this: myObject[propertyName]
}