Knockout.js 使用knockoutjs+更新数据;映射插件(+;解决方案)
我正在尝试使用映射插件在knockoutjs视图模型中插入和更新数据。Knockout.js 使用knockoutjs+更新数据;映射插件(+;解决方案),knockout.js,knockout-mapping-plugin,Knockout.js,Knockout Mapping Plugin,我正在尝试使用映射插件在knockoutjs视图模型中插入和更新数据。 初始数据如下所示(数字映射在“id”字段中,文本映射在“名称”字段中): 一个 二二 三三 四四 五五 六六 七七 八八 九九 十分 11 11 12点12分 十三 14 14 十五 我得到的是 1 oneMOD 二二 三三 四四 16 16 我想得到的是: 1 oneMOD 二二 三三 四四 八八 九九 十分 11 11 12点12分 十三 14 14 十五 1
初始数据如下所示(数字映射在“id”字段中,文本映射在“名称”字段中):
- 一个
- 二二
- 三三
- 四四
- 五五
- 六六
- 七七
- 二二
- 八八
- 九九
- 十分
- 11 11
- 12点12分
- 十三
- 14 14
- 九九
- 十五
- 1 oneMOD
- 二二
- 三三
- 四四
- 二二
- 16 16
- 1 oneMOD
- 二二
- 三三
- 四四
- 二二
- 八八
- 九九
- 十分
- 11 11
- 12点12分
- 十三
- 14 14
- 九九
- 十五
- 16 16
- 将字段“name”中的元素1从“one”更新为“oneMOD” (由于字段id映射为键)
- 5和其子被删除(或未被触及)
- 8和15未触及
- 16补充说
我肯定错过了什么 您可以在此处找到代码: TIA
吉安尼 编辑: 好的,我误解了使用ko.mapping.fromJS进行“更新”的目的。
如果要更新模型,必须发送包含更新的完整原始数据集。
如果需要部分更新,则必须执行。
我要去考试 这(knockoutjs使用updatefromjs替换应该添加的值)证实了我的怀疑 我希望这会有帮助 再见,
Gianni在您最初的问题中,ko.mapping通过创建新的viewmodel来工作。因此,当您第二次执行此映射时,将替换以前的视图模型。更新基本上做同样的事情 您要求mapping做的是了解您的数据并自动更新现有记录和添加新记录。没那么聪明。您必须编写代码来读取更新结果,并在原始viewmodel中更新/添加正确的记录