无法读取未定义的属性推送
Posted
技术标签:
【中文标题】无法读取未定义的属性推送【英文标题】: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
的数组?
【参考方案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 的宝贵时间。以上是关于无法读取未定义的属性推送的主要内容,如果未能解决你的问题,请参考以下文章
VueJS 3 / 路由器 / 带有推送的重定向:未捕获(承诺中)类型错误:无法读取未定义的属性(读取“推送”)