Javascript 从json对象中删除ObservalArray的maping.fromJS。数据丢失
我有一个视图模型,有一个可观察的和一个可观察的阵列。点击按钮可以填充一个JSON对象并将其映射到视图模型……我认为“应该”填充ObservalArray。按钮点击发生。没有错误。如果在映射发生时运行调试器,则会填充obserableArray,但不会填充obserableArray。这意味着假定基于ObservalArray显示的HTML对象不会得到更新 HTML: 我真正的代码从web服务中获取数据。我认为上面创建一个对象并将其转换为JSON,然后使用ko.mapping.fromJS对其进行映射最能代表正在发生的事情。无论如何Javascript 从json对象中删除ObservalArray的maping.fromJS。数据丢失,javascript,knockout.js,mapping,Javascript,Knockout.js,Mapping,我有一个视图模型,有一个可观察的和一个可观察的阵列。点击按钮可以填充一个JSON对象并将其映射到视图模型……我认为“应该”填充ObservalArray。按钮点击发生。没有错误。如果在映射发生时运行调试器,则会填充obserableArray,但不会填充obserableArray。这意味着假定基于ObservalArray显示的HTML对象不会得到更新 HTML: 我真正的代码从web服务中获取数据。我认为上面创建一个对象并将其转换为JSON,然后使用ko.mapping.fromJS对其进
我怀疑我做了一些愚蠢的事情,或者至少假设了一些我不应该做的事情。您正在使用
ko.toJSON(testdata)
转换为JSON,但您没有使用
ko.mapping.fromJS(jsonData,{},me)代码>但来自普通JS对象
toJSON
和fromJSON
方法应成对使用:
var jsonData = ko.toJSON(testdata);
ko.mapping.fromJSON(jsonData, {}, me);
这同样适用于toJS
和fromJS
:
var jsonData = ko.toJS(testdata);
ko.mapping.fromJS(jsonData, {}, me);
演示。ko.mapping.js在您的外部资源中找不到,这就是为什么它不起作用。knockout.mapping.js在JSFIDLE“外部资源”中。这不是正确的吗?哈哈…我做了一个多么糟糕的复制粘贴工作。外部资源现在应该是固定的。但是,这个问题仍然存在,它修复了JSFIDLE。谢谢现在我只需要把它应用到我真正的代码中。
var jsonData = ko.toJSON(testdata);
ko.mapping.fromJSON(jsonData, {}, me);
var jsonData = ko.toJS(testdata);
ko.mapping.fromJS(jsonData, {}, me);