【问题标题】:Can't read property push of undefined无法读取未定义的属性推送
【发布时间】:2021-03-06 09:45:18
【问题描述】:
userInfoList: any = [];
userInfoList: any[] = [];  // tried this also
this.userInfoList.push(payload);

我已经尝试了很多,但我没有得到这个错误的确切解决方案。

【问题讨论】:

  • 错误信息表明 userInfoList 未定义,即那里没有数组对象。通常如何在 node.js 中声明一个允许出现push 的数组?

标签: node.js angular typescript mongoose service


【解决方案1】:

您可以将其声明为 const userInfoList = [];然后userInfoList.push()

【讨论】:

  • 你可以尝试用 'var' 来声明它。有效载荷包含什么?
  • payload 实际上包含我想在后端发送的数据,在得到服务器的响应后,我想推入 userInfoList。
【解决方案2】:

我假设你有一些带有add 方法的类。

有两种方法可以实现:

第一选择

class Foo {

  userInfoList: any[] = [];

  add(payload: number) {
    this.userInfoList.push(payload);
  }
}

第二个选项

class Bar {

  constructor(public userInfoList: any[]) { }

  add(payload: number) {
    this.userInfoList.push(payload);
  }
}

【讨论】:

  • 谢谢,但我已经完成了第一个选项,并再次遇到未定义的相同错误,还尝试了第二个选项,但无法实现。尽管一切都很清楚,但我无法找出这个逻辑背后的错误
  • 请分享您的完整代码。只用 3 行代码很难找出你的问题
  • 我的错误。基本上它来自后端问题。现在我的代码工作正常。非常感谢@captain-yossarian 的宝贵时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-12
  • 1970-01-01
  • 2016-04-22
  • 2020-12-24
相关资源
最近更新 更多