Angular 2:从 firebase 检索对象
Angular 2: Retrieve objects from firebase
下面是我的 firebase 数据库截图:
下面是"app.component"中的代码:
import { AngularFireDatabase, FirebaseListObservable } from "angularfire2/database-deprecated";
import { AngularFireAuth } from 'angularfire2/auth';
import { Observable } from 'rxjs/Observable';
import * as firebase from 'firebase/app';
@Component ....
items: FirebaseListObservable<any[]>;
constructor(public af: AngularFireDatabase) {
this.items = af.list('/projects', {
query: {
limitToLast: 10
}
});
console.log(this.items);
}
但我没有获取数据。谁能帮我解决这个问题?
我已经完成了 angularfire2 的设置并且能够将数据写入实时数据库。是从数据库中获取数据的问题。
您需要调用列表的订阅方法。因此:
this.items = af.list('/projects').valueChanges().subscribe(items => {
console.log(items);
}));
我看到你正在使用 database-deprecated
包。代码应该是这样的:
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.
下面是我的 firebase 数据库截图:
下面是"app.component"中的代码:
import { AngularFireDatabase, FirebaseListObservable } from "angularfire2/database-deprecated";
import { AngularFireAuth } from 'angularfire2/auth';
import { Observable } from 'rxjs/Observable';
import * as firebase from 'firebase/app';
@Component ....
items: FirebaseListObservable<any[]>;
constructor(public af: AngularFireDatabase) {
this.items = af.list('/projects', {
query: {
limitToLast: 10
}
});
console.log(this.items);
}
但我没有获取数据。谁能帮我解决这个问题?
我已经完成了 angularfire2 的设置并且能够将数据写入实时数据库。是从数据库中获取数据的问题。
您需要调用列表的订阅方法。因此:
this.items = af.list('/projects').valueChanges().subscribe(items => {
console.log(items);
}));
我看到你正在使用 database-deprecated
包。代码应该是这样的:
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.