var viewModel = { field1: ko.observable(), //value field2: ko.observable(), //value, valueUpdate field3: ko.observable(), //textInput field4: ko.observable().extend({ throttle: 200 }) //textInput + throttle }; ko.applyBindings(viewModel, document.body);
В ниже представленных полях используются разные виды обновления значений поля при пользовательском вводе. <p>При потере фокуса: <input type="text" data-bind="value: field1"> Текущее значение: <strong data-bind="text: field1"></strong> </p> <p>После нажатия клавиши: <input type="text" data-bind="value: field2, valueUpdate: 'afterkeydown'"> Текущее значение: <strong data-bind="text: field2"></strong> </p> <p>После нажатия клавиши с использованием textInput: <input type="text" data-bind="textInput: field3"> Текущее значение: <strong data-bind="text: field3"></strong> </p> <p>После нажатия клавиши с использованием textInput и задержкой в 200 миллисекунд: <input type="text" data-bind="textInput: field4"> Текущее значение: <strong data-bind="text: field4"></strong> </p>