在控制台上记录整个响应将显示数据。但是,当我尝试在打字稿中获取单个属性时,它给出了未定义的信息。为什么?

时间:2018-10-24 14:27:28

标签: typescript angular5

在以角度捕获socket.io事件时,我得到了一些响应。当我在控制台上记录整个响应时,它会显示所有属性,但是当我尝试获取单个属性时,它将给出未定义的信息。我附上一张图片供参考。 附注:我是Script类型的新手。

this._chatService.onNewUserJoined()
  .subscribe((data:any) => {
    console.log(data);
    console.log(data['userName']);
    this.snackBar.open(`${data['userName']} Joined chat room!!!`, "ok", {
      duration: 2000,
    });
  });

谢谢enter image description here

1 个答案:

答案 0 :(得分:1)

您的回复是 array ,您需要使用索引或with循环进行访问,以下操作应该很好。

 console.log(data);
 console.log(data[0]['userName']);