user: any;
chatMessages: FirebaseListObservable<ChatMessage[]>;
chatMessage: ChatMessage;
userName: Observable<string>;
constructor(
public db: AngularFireDatabase,
public afAuth: AngularFireAuth,
) {
this.afAuth.authState.subscribe(auth => {
if (auth !== undefined && auth !== null){
this.user = auth;
}
});
}
sendMessage(msg: string){
const timestamp = this.getTimeStamp();
const email = this.user.email;
this.chatMessages = this.getMessages();
this.chatMessages.push({
message: msg,
timeSent: timestamp,
userName: this.userName,
email: email});
}
getMessages(): FirebaseListObservable<ChatMessage[]>{
return this.db.list('/messages', {
query: {
limitToLast: 25,
orderByKey: true
}
});
}
我正在使用angular和firebase创建一个网络聊天应用程序,然后我收到此错误,查询不是兼容类型的FireBaseListFactoryOpts。
如果有人可以,请提供帮助。
答案 0 :(得分:1)
getMessages(): AngularFireList<ChatMessage[]> {
return this.db.list('messages',ref => ref.orderByKey().limitToLast(25));
}
使用它而不是现在这将起作用,因为FireBaseListObservable被AngularFirelist替换。
答案 1 :(得分:0)
检查您的类型好友,您正在将查询结果分配给不同类型的Firebase数据类型,这将无法正常工作调试具有正确数据类型的代码,并在Google上检查是否由于版本而对该代码进行了更改更改。 由于Web开发技术中版本的不断更改,这种问题很常见。 祝你好运