Читать книгу Forms over Data mit Knockout.js - Tilman Börner - Страница 6
Auslösen des Bindings bei jedem Tastendruck
ОглавлениеDas Übertragen des Wertes im input-Element in ko.observable() passiert in der Regel nur, wenn das Feld den Fokus verliert oder die Return-Taste gedrückt wird. Das bedeutet aber, dass solche Funktionen wie Autovervollständigung oder Suchen während der Eingabe nicht implementiert werden könnten. Aber auch dafür hat Knockout.js eine Lösung parat.
Wer so etwas implementieren will, muss dem Binding noch einen Konfigurationsparameter mitgeben, der festlegt, wann der Abgleich zwischen View und ViewModel passieren soll. Im Fall des value-Attributs des input-Elements ist das der Parameter valueUpdate: 'afterkeydown' oder vollständig:
<input type="text" data-bind="value: name,
valueUpdate: 'afterkeydown'" />
Bei Verwendung von Tipp 2 sehen Sie, dass sich der Inhalt des ko.observable()-Feldes name bei jedem Tastendruck ändert.