【发布时间】:2012-06-08 10:24:52
【问题描述】:
我有一个复杂的模型,其中包含大量 ko.observable、ko.observableArray 和嵌套对象,其中包含更多这些 observables。
现在,最初我必须在每个模型中创建方法,这些模型组成了更大的模型,以获取 Json 数据,然后填充它的 observables。现在我尝试了 ko.mapping 插件,但是当我使用它时:
ko.mapping.fromJS(jsonData, {}, existingModel);
这似乎适用于大多数对象,但是我注意到,当我这样做时,它似乎完全覆盖了对象,并且因为我使用的是淘汰赛 js 验证,即:
this.Name = ko.observable().extend({ required: true });
this.Age = ko.observable().extend({ required: true, digits: true });
问题是这些验证属性在使用映射模块时似乎被删除了,所以有没有办法让映射插件只更新值,而不是篡改对象架构...
如果有更好的方法将 Json 数据应用于模型,我非常乐意使用除 ko.mapping 之外的其他机制。
【问题讨论】:
标签: javascript knockout.js knockout-mapping-plugin