角度2 RC1错误"Supplied parameters do not match any signature of call target"



我遇到了angular 2 rc1 http get方法的问题:

提供的参数与调用目标的任何签名都不匹配。

public getMessages() {
    return this.http.get('url').map((res:Response) => res.json());
}

然后:

export class BaMsgCenter {
  public messages;
  public data_error: Boolean = false;
  constructor(private _baMsgCenterService:BaMsgCenterService) {
      this.messages = this._baMsgCenterService.getMessages().subscribe(
        (messages: Array<any>) => { 
          debugger;
          let result:Array<Message> = [];
          if (messages) {
            messages.forEach((message) => {
              result.push(
                 new Message(message[0], 
                          message[1],
                          message[2],
                          message[3],
                          message[4])
                 );
            });
          }
        return messages; 
        },
      err => { this.data_error = true}
        );
      }
}

消息类别:

export class Message {
    id: number;
    message: string;
    send_date: string;
    status: number;
    from: string;
}

错误在第行:new Message(message[0], (...)。也许这与承诺有关,但我不知道如何解决它。我想将json数组解析为对象,比如:

[[1,"Title",1468669921000,0,"Siva"],[2,"Title",1468669934000,0,"Siva2"]]

有什么想法吗?

谢谢!

您的Message类没有构造函数。你应该写:

export class Message {
   constructor(public id: number,
       public message: string,
       public send_date: string,
       public status: number,
       public from: string) {}
}

相关内容

最新更新