您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Web开发 >> (vue.js)vue组件中socket回调函数中赋值问题

(vue.js)vue组件中socket回调函数中赋值问题

来源:网络整理     时间:2016/5/18 16:29:35     关键词:Socket

关于网友提出的“(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

相关图片

相关文章