我正在尝试使用映射插件在 knockoutjs 视图模型中插入和更新数据。
初始数据如下所示(数字映射在“id”字段中,文本映射在“name”字段中):
- 1 个
- 2 二
- 3 三
- 4 四
- 5 五
- 6 六
- 7 七
- 2 二
- 8 八
- 9 九
- 10 十
- 11 十一
- 12 十二
- 13 十三
- 14 十四
- 9 九
- 15 十五
我得到的是
- 1个MOD
- 2 二
- 3 三
- 4 四
- 2 二
- 16 十六
我想得到的是:
- 1个MOD
- 2 二
- 3 三
- 4 四
- 2 二
- 8 八
- 9 九
- 10 十
- 11 十一
- 12 十二
- 13 十三
- 14 十四
- 9 九
- 15 十五
- 16 十六
换句话说:
- 将字段“name”中的元素 1 从“one”更新为“oneMOD”(因为字段 id 被映射为键)
- 5 及其子删除(或未触及)
- 8和15不变
- 增加了 16 个。
看起来 ko.mapping.fromJS 替换了新数据而不是更新它们。
我肯定错过了一些东西。
你可以在这里找到代码:http: //jsbin.com/uwihoz/2/edit
蒂亚
·詹尼
编辑:
好的,我误解了使用 ko.mapping.fromJS 进行“更新”的目的。
如果要更新模型,则必须发送包含更新的完整原始数据集。
如果你想要部分更新,你必须实现它。
我要测试KnockoutJS-Mapping-updateData。
这篇文章(knockoutjs-using-updatefromjs-replacing-values-when-it-should-be-adding)证实了我的怀疑。
我希望这会有所帮助。
再见,
詹尼