javascript - vue-socket.io Uncaught TypeError:无法读取未定义的属性
问题描述
我正在尝试从 Vue 组件中的 Sockets 对象调用数据。
data() {
return {
message: []
}
},
sockets: {
chatMessage: data => {
console.log(data); //-> my data from server
console.log(this); //-> undefined
console.log(this.message); //-> Uncaught TypeError
}
}
我成功地从服务器发出和接收消息事件,因为我正在获取数据。但我不知道为什么我无法从数据中获取消息道具。
解决方案
我发现的答案是我使用的是胖箭头函数,所以我没有绑定this
。
我改变的只是:
sockets: {
chatMessage: function(data){
//-> returns what I needed
}
}
推荐阅读
- python - 如何将类对象添加到列表中?
- react-native - 反应本机设置错误。无法创建Java虚拟机
- node.js - 因未创建 Visual Studio 2017 而获得。原因?
- svg - 如何使用 SVG 作为 PWA 图标?
- java - Java 11 - ReflectionUtil cxf-core 字段 java.net.Authenticator.theAuthenticator
- javascript - 如何修复脚本标签中的 src 属性
- scala - Intellij IDEA: sbt compile 在命令中是ok的,但是为什么build.sbt是红色高亮的?
- python - 如何将保存在 keras 1.1.0 中的 model.json 更新为最新(tensorflow 2.3.1)?
- php - 打开文本文件并通过php在textarea中读取它
- wpf - 如何根据 TextBox 值绑定控件(StackPanel)的可见性?