我正在使用Ionic 2.
我希望在这张firebase照片中得到java和数学的孩子,他们的孩子每个都是0,1。
我做了类似的事
public getCourse(departmentId:any):any{
var semesterRef = firebase.database().ref('Courses/'+departmentId+'/SemA')
semesterRef.on('child_added', function(courseSnapshot) {
console.log(courseSnapshot.key);
});
但它只给我Java和数学名称,而不是他们的孩子。如何在循环中运行并获取它并以数组形式返回。
答案 0 :(得分:4)
您可以使用快照的forEach
方法来迭代密钥的子项:
public getCourse(departmentId:any):any{
var semesterRef = firebase.database().ref('Courses/'+departmentId+'/SemA')
semesterRef.on('child_added', function(courseSnapshot) {
console.log(courseSnapshot.key);
courseSnapshot.forEach(function(childSnapshot):boolean{
console.log(childSnapshot.key);
// ... etc.
return false; // to appease TypeScript
});
});
}
Firebase API不会返回数组,因为它会将数组转换为具有从数组索引派生的键的对象,但是如果这是您需要的,您可以枚举子项并重新构建数组。