【问题标题】:Argument of type '{ query: { limitToLast: number; orderByKey: boolean; }; }' is not assignable to parameter of type 'FirebaseListFactoryOpts''{ query: { limitToLast: number; 类型的参数orderByKey:布尔值; }; }' 不可分配给“FirebaseListFactoryOpts”类型的参数
【发布时间】:2018-07-17 00:39:05
【问题描述】:
    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 的兼容类型。 如果有人可以请帮忙。

【问题讨论】:

    标签: angularjs angular typescript firebase angularfire


    【解决方案1】:
    getMessages(): AngularFireList<ChatMessage[]> {
    return this.db.list('messages',ref => ref.orderByKey().limitToLast(25));
    }
    

    现在用这个代替那个,因为 FireBaseListObservable 被 AngularFirelist 替换了。

    【讨论】:

      【解决方案2】:

      检查您的类型好友,您正在将查询结果分配为不同类型的 firebase 数据类型,这将无法使用正确的数据类型调试您的代码,并在 Google 上检查是否由于版本而对此代码进行了更改改变。 由于 Web 开发技术中版本的不断变化,这种问题很常见。 祝你好运

      【讨论】:

        猜你喜欢
        • 2018-08-01
        • 2020-06-19
        • 2019-10-23
        • 2020-06-19
        • 1970-01-01
        • 2018-07-19
        • 2019-11-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多