【发布时间】:2018-06-09 12:22:47
【问题描述】:
我在将 firebase db.list() 返回分配给变量时遇到问题
组件:
import { Component, OnInit } from '@angular/core';
import { AngularFireDatabase, AngularFireList } from 'angularfire2/database';
//import { FirebaseListObservable } from 'angularfire2/database-deprecated';
@Component({
selector: 'app-cadastrar-pessoa-lista',
templateUrl: './cadastrar-pessoa-lista.component.html',
styleUrls: ['./cadastrar-pessoa-lista.component.css']
})
export class CadastrarPessoaListaComponent implements OnInit {
pessoas: AngularFireList<any[]>;
constructor(db: AngularFireDatabase) {
**console.log('antes...: ' + typeof this.pessoas); // == undefined**
this.pessoas = db.list('pessoas');
**console.log('antes...: ' + typeof this.pessoas); // == object**
}
ngOnInit() {
}
}
ng serve 可以,但是组件不行,devtools 中的错误是:
AngularFireList 找不到不同的支持对象 '[object 对象]' 类型为“对象”。 NgFor 只支持绑定到 Iterables 比如数组
所以,documentation list() deals with a Generic type,只要我明白:
list<T>(pathOrRef: PathReference, queryFn?: QueryFn): AngularFireList<T> {
const ref = getRef(this.app, pathOrRef);
let query: DatabaseQuery = ref;
if(queryFn) {
query = queryFn(ref);
}
return createListReference<T>(query);
}
这是怎么回事,我怎样才能做到这一点?
【问题讨论】:
标签: angular rxjs angularfire2