我有一个复杂的模型,其中包含大量 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 之外的不同机制。