更新通过knockout映射插件映射的数组将替换数组的内容

时间:2014-01-23 21:23:08

标签: knockout-mapping-plugin

我的视图模型中有一个对象,它使用映射插件从服务器更新数组数据。

映射的可观察数组的内容显示在表中。现在,用户可以“加载更多”,从而触发对服务器的请求并获取下一个请求 来自服务器的'n'行数据。

使用带有新数据的映射插件更新视图模型对象会导致替换现有数据。我的目标是使映射插件将新数据附加到现有的可观察数组。

想知道这是否可以使用自定义'create'或'update'回调?如果是的话,一些例子会有所帮助。

目前,作为一种解决方法 - 我已经使用手动将数据推送到视图模型对象中。

1 个答案:

答案 0 :(得分:0)

你可以推它而不是重新分配它:

如果您的可观察数组为self.displayedData,那么在您的ajax成功中,您可以执行类似

ko.mapping.fromJS(data, self.displayedData)而不是$(data).each(function(i,e){ self.displayedData.push(ko.mapping.toJS(e)); });
{{1}}