Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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 Ko映射执行追加而不是重新加载_Javascript_Jquery_Arrays_Knockout.js - Fatal编程技术网

Javascript Ko映射执行追加而不是重新加载

Javascript Ko映射执行追加而不是重新加载,javascript,jquery,arrays,knockout.js,Javascript,Jquery,Arrays,Knockout.js,当我尝试从服务器获取一些数组并推送到一个数组时,我会这样做 myarray.push(item[i]); //myarray is ko.observableArray() 但是我想使用ko.mapping.fromJS,但是当我尝试添加新的数据集时,它似乎总是重新加载ko.observearray,而不是附加到现有数组上 ko.mapping.fromJS(result, {}, myarray); 当我去提取新的数组集时,如何让它追加?您需要使用映射文字的键选项,否则映射无法确定数

当我尝试从服务器获取一些数组并推送到一个数组时,我会这样做

   myarray.push(item[i]); //myarray is ko.observableArray()
但是我想使用ko.mapping.fromJS,但是当我尝试添加新的数据集时,它似乎总是重新加载ko.observearray,而不是附加到现有数组上

ko.mapping.fromJS(result, {}, myarray);

当我去提取新的数组集时,如何让它追加?

您需要使用映射文字的键选项,否则映射无法确定数据和viewmdodel中的哪些行


你本可以这样做的

var temp = ko.mapping.toJS(myarray())
var result = temp.concat(result)
ko.mapping.fromJS(result, {}, myarray);

我也打算提出这个建议,但是我不知道如何使映射插件附加新的项目,而不是更新现有的项目。这是可能的吗?一旦实现了关键选项,立即添加新作品。但是,所有项都必须显示在数据对象中,否则缺少的项将从ViewModel中删除是的,这就是我要说的-如果新数组中没有所有项,无论是否使用映射键,项都将丢失…但问题是关于追加。他没有指定数据是否包含整个数据集。。这是一个小提琴它不支持,你将不得不单独映射它,然后附加线到你的数组