Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在vue.js中将项目添加到列表_Javascript_Vue.js - Fatal编程技术网

Javascript 如何在vue.js中将项目添加到列表

Javascript 如何在vue.js中将项目添加到列表,javascript,vue.js,Javascript,Vue.js,我是vue.js的新手,这里是我的问题: data: { ws: null, newMsg: '', username: null, usersList: '' }, created: function() { var self = this; this.ws = new WebSocket('ws://' + window.location.host + '/ro

我是vue.js的新手,这里是我的问题:

data: {
        ws: null, 
        newMsg: '',
        username: null,    
        usersList: '' 
    },
        created: function() {
        var self = this;
        this.ws = new WebSocket('ws://' + window.location.host + '/room');
        this.ws.addEventListener('message', function(e) {
            var msg = JSON.parse(e.data);
                if (msg.Message == "joined" ) {
                self.usersList.push(msg.Name); // <--Problem here 
              }


        });
    },
我也尝试了一个固定字符串,而不是
msg.Name
,但是得到了相同的错误


这里有什么问题以及如何修复它?

1.使用
userList:[]
作为数组,您可以使用
push()
方法,请参见此处:

2.当您的
e.data
是一个数组时,例如:
[1,2,3,4]
,您可以使用
concat
组合两个数组

var arr1 = [1,2,3,4];
var arr2 = [5,6,7];
var arr = arr1.concat(arr2); // [1, 2, 3, 4, 5, 6, 7]
或者,
Array.prototype.push.apply(arr1,arr2)
从第二个数组中推送所有元素

var arr1 = [1,2,3,4];
var arr2 = [5,6,7];
Array.prototype.push.apply(arr1, arr2);
console.log(arr1);//[1, 2, 3, 4, 5, 6, 7]

您在数据中声明为字符串
usersList:''
,请将其更改为
usersList:[]
@MatJ Right。刚想出来!请回答,我接受。
var arr1 = [1,2,3,4];
var arr2 = [5,6,7];
Array.prototype.push.apply(arr1, arr2);
console.log(arr1);//[1, 2, 3, 4, 5, 6, 7]