我有一个包含元素的设置页面。每个元素都绑定到 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” - 没有任何效果。
有任何想法吗?