关于网友提出的“(vue.js)vue组件中socket回调函数中赋值问题”问题疑问,本网通过在网上对“(vue.js)vue组件中socket回调函数中赋值问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:(vue.js)vue组件中socket回调函数中赋值问题
描述:问题见代码注释处
Vue.component("test", {
template: "#test",
data: function() {
return {
messages: ['sdddddd','ddddd','qwwq'],
newMessage: '11111'
}
},
methods: {
createMessage: function() {
var newMessage = this.newMessage;
if (newMessage) {
socket.emit('createMessage', newMessage);
this.newMessage = ''
}
},
messageListen: function() {
socket.emit('getAllMessages');
socket.on('allMessages', function(messages) {
//如何在这里把接收到的messages赋值给该组件的messages变量,下面的写法不可以,貌似是this作用域的问题
this.messages = messages;
});
socket.on('messageAdded', function(message) {
this.messages.push(message);
autosb();
});
}
},
ready: function() {
this.messageListen();
}
})
解决方案1:使用es6箭头函数,或者弄个 this 别名
以上介绍了“(vue.js)vue组件中socket回调函数中赋值问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1163703.html