検索ボックスと、0 ~ 100 の結果行を表示するテーブルがあります。
<input type="text" data-bind="value: vm.query,
valueUpdate: 'afterkeydown',
event: { keypress: vm.keypress} ">
<table>
<tbody data-bind="foreach: results">
<tr>
<td> <p data-bind="text: property1"></p> </td>
<td> <p data-bind="text: property2"></p> </td>
...
結果テーブルに 10 行しかない場合でも、入力ボックスに書き込みを行うとパフォーマンスが向上します。黄色 = JavaScript が 16 ミリ秒の制限に達していますが、それ以上ではありません:
結果テーブルに 100 行あると、入力ボックスに何かを書き込むときにパフォーマンスが低下します。黄色 = JavaScript が屋根を突き破っています:
を削除してvalueUpdate: 'afterkeydown'
もパフォーマンスの問題はありませんが、ユーザーが押すenterと を使用して検索が開始されるため、問題はありますevent: { keypress: vm.keypress}
。
パフォーマンスの問題がありvalueUpdate: 'afterkeydown'
ますか、それともコード内の他の何かが原因でこのパフォーマンスの問題が発生する可能性が高いですか?