【问题标题】:Updating array mapped via the knockout mapping plugin replaces the contents of the array更新通过敲除映射插件映射的数组替换了数组的内容
【发布时间】:2014-01-23 21:23:07
【问题描述】:

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

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

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

想知道这是否可以使用自定义“创建”或“更新”回调?如果是的话,一些例子会很有帮助。

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

【问题讨论】:

  • 映射插件是为处理额外的数据而设计的,所以如果你手动推送你的数据就完美了......

标签: knockout-mapping-plugin


【解决方案1】:

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

如果您的可观察数组是 self.displayedData,那么在您的 ajax 成功时,您可以执行类似的操作,而不是 ko.mapping.fromJS(data, self.displayedData)

$(data).each(function(i,e){
  self.displayedData.push(ko.mapping.toJS(e));
});

【讨论】:

    猜你喜欢
    • 2012-12-14
    • 1970-01-01
    • 2013-07-17
    • 1970-01-01
    • 2020-01-31
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多