Why can not I concat data to observable array in knockout
我正在尝试将服务器中的元素添加到挖空中的可观察数组中。
这是我的ViewModel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function ArticlesViewModel() { var self = this; this.listOfReports = ko.observableArray([]); self.loadReports = function() { $.get('/router.php', {type: 'getReports'}, function(data){ for (var i = 0, len = data.length; i < len; i++){ self.listOfReports.push(data[i]); } }, 'json'); }; self.loadReports(); }; |
它运行完美。但是我知道我可以使用concat()在javascript中合并两个数组,据我所知concat在敲除中起作用。因此,当我尝试用
在第一种情况下没有错误,在第二种错误告诉我没有方法concat。
因此,如何在没有循环的情况下合并数据。我真的很高兴听到为什么我的方法不起作用
但是,您可以做的是在基础数组上调用
1 | self.listOfReports(self.listOfReports().concat(data)); |
链接的示例有效,因为在循环中使用了
在mobx中连接数组的另一种方法:
1 2 | const arr = [...self.data, ...result.data.data.customers] self.data.replace(arr) |