js 和淘汰赛映射插件
我的问题是这样的:
我有模型,我在运行时向它添加 observables,如下所示:
viewModel[value] = new ko.observable(valueFromTextBox);
这工作正常,并且可观察对象绑定到屏幕,这部分工作正常有问题的部分是当我尝试采用该模型并将其转换为 JSON 时,如下所示:
var JSON = ko.mapping.toJS(page.model);
当我调试它时,我看到 page.model 具有所有新的 observables。但我最终的 JSON 只有模型中的那些。不是稍后在运行时添加的。在运行时添加可观察对象的正确方法是什么?
谢谢
编辑:
我将描述我的整个场景,然后发布我的解决方案作为答案。
我正在使用 ASP.Net MVC,我创建了一个视图模型,然后进行了 ajax 调用以从服务器接收我的实际模型。然后使用:
ko.mapping.fromJS(model, page.model);
之后,当用户添加我使用的新字段时,绑定会发生:
viewModel[value] = new ko.observable(valueFromTextBox);
最后在将其发送回我使用的服务器之前:
var JSON = ko.mapping.toJS(page.model);
在这一点上,JSON 中不存在添加的字段。