0

我有一个包含元素的设置页面。每个元素都绑定到 ViewModel 属性。

我正在尝试实现设置的编辑和保存。

function saveSettings() {
    var new_settings = {};
    new_settings.property1 = settingsViewModel.settings.property1();
    new_settings.property2 = settingsViewModel.settings.property2();
    new_settings.property3 = settingsViewModel.settings.property3();
    .........
}

如果 的内容没有被修改 - 那么它运作良好。但是对于用户更改内容的输入,我收到错误“对象的属性 xxx 不是函数”。似乎我的 Viewmodel 和绑定在元素发生更改后被破坏。

我的绑定如下:

 <input data-bind="value: settings.property1, valueUpdate: 'afterkeydown'" />

我还尝试了“keyup”、“keypress”、“input” - 没有任何效果。

有任何想法吗?

4

1 回答 1

0

如果您只是想将您的视图模型转换为 JSON 发送到服务器,可以在上面使用 ko.toJSON,或者如果您需要更多控制,使用映射插件来做同样的事情?

于 2013-03-27T09:00:49.613 回答