我正在尝试使用映射插件插入和更新视图模型中的数据。
初始数据类似于(数字映射到"id“字段,文本映射到”名称“字段):
- 5 five
- 6 six
- 7 seven
- 12 twelve
- 13 thirteen
- 14 fourteen
我得到的是
我想得到的是:
- 12 twelve
- 13 thirteen
- 14 fourteen
换言之:
看起来,ko.mapping.fromJS取代了新的数据而不是更新它们。
我肯定漏掉了什么。
您可以在这里找到代码:http://jsbin.com/uwihoz/2/edit
提亚
詹尼
编辑
好的,我误解了使用ko.mapping.fromJS进行“更新”的目的。
如果要更新模型,则必须发送包含更新的完整原始数据集。
如果您想要部分更新,您必须强制执行。
我要测试KnockoutJS-映射-updateData。
这个(knockoutjs-using-updatefromjs-replacing-values-when-it-should-be-adding) 帖子证实了我的怀疑。
我希望这会有所帮助。
再见,
詹尼
发布于 2012-10-17 10:51:34
在您最初的问题中,ko.mapping通过创建一个新的视图模型来工作。因此,当您第二次这样映射时,您将替换以前的视图模型。更新基本上是一样的。
您要求映射所做的是了解您的数据,并自动更新现有记录并添加新记录。没那么聪明。您必须编写读取更新结果的代码,并在原始视图模型中更新/添加正确的记录。
https://stackoverflow.com/questions/12917771
复制相似问题