Angular 角度2:从firebase检索对象

Angular 角度2:从firebase检索对象,angular,firebase,firebase-realtime-database,angularfire2,Angular,Firebase,Firebase Realtime Database,Angularfire2,以下是我的firebase数据库屏幕截图: 下面是“app.component”中的代码: 从“angularfire2/数据库弃用”导入{AngularFireDatabase,FirebaseListObservable}; 从'angularfire2/auth'导入{AngularFireAuth}; 从“rxjs/Observable”导入{Observable}; 从“firebase/app”导入*作为firebase; @组件。。。。 项目:可观察到的FirebaseList;

以下是我的firebase数据库屏幕截图:

下面是“app.component”中的代码:

从“angularfire2/数据库弃用”导入{AngularFireDatabase,FirebaseListObservable};
从'angularfire2/auth'导入{AngularFireAuth};
从“rxjs/Observable”导入{Observable};
从“firebase/app”导入*作为firebase;
@组件。。。。
项目:可观察到的FirebaseList;
构造函数(公共af:AngularFireDatabase){
this.items=af.list(“/projects”{
查询:{
限时:10
}
});
console.log(this.items);
}
但我没有得到数据。有人能帮我吗


我已经完成了angularfire2设置,能够将数据写入实时数据库。这是从数据库获取数据的问题。

您需要在列表中调用subscribe方法。因此:

this.items = af.list('/projects').valueChanges().subscribe(items => {
    console.log(items);
}));
我看到您正在使用
数据库弃用的
包。代码应为:

this.firebaseList = af.list('/projects'); // This is of type FirebaseListObservable

this.items = this.firebaseList.subscribe(items => {
    console.log(items);
})); // This is of type subscription.

this.firebaseList.push({...data}); // Now you can push.

您需要调用列表上的subscribe方法。因此:

this.items = af.list('/projects').valueChanges().subscribe(items => {
    console.log(items);
}));
我看到您正在使用
数据库弃用的
包。代码应为:

this.firebaseList = af.list('/projects'); // This is of type FirebaseListObservable

this.items = this.firebaseList.subscribe(items => {
    console.log(items);
})); // This is of type subscription.

this.firebaseList.push({...data}); // Now you can push.

我把它改为:项目:可观察;构造函数(public af:AngularFireDatabase){this.items=af.list('/projects').subscribe(items=>{console.log(items);});}但是它说,“Subscription”类型不能分配给“Observable”类型。类型“订阅”中缺少属性“\u isScalar”。(属性)AddProjectComponent.items:ObservablePERFECT!!现在可以了。但是,现在我无法推送:this.items.push(form.value)。它说:“订阅”类型上不存在属性“推送”。你是我的英雄。谢谢大家!@StanvanHeumen您的代码非常适合获取所有数据并在控制台中打印,但请思考,如果我必须从上图中找到关键字:accountDetials:mail,如何打印mail的值我将其更改为:items:Observable;构造函数(public af:AngularFireDatabase){this.items=af.list('/projects').subscribe(items=>{console.log(items);});}但是它说,“Subscription”类型不能分配给“Observable”类型。类型“订阅”中缺少属性“\u isScalar”。(属性)AddProjectComponent.items:ObservablePERFECT!!现在可以了。但是,现在我无法推送:this.items.push(form.value)。它说:“订阅”类型上不存在属性“推送”。你是我的英雄。谢谢大家!@StanvanHeumen您的代码非常适合获取所有数据并在控制台中打印,但请思考,如果我必须从上图中找到关键字:accountDetials:mail,我该如何打印mail的值