1

Slickgrid の例を見て、Google Chrome を使用して、内部で何が起こっているかを確認するためにフィルターにブレークポイントを設定しています。ブレークポイントは 87 行目で正常に動作しますhttp://mleibman.github.com/SlickGrid/examples/example-header-row.html

しかし、143行目では機能しません

http://mleibman.github.com/SlickGrid/examples/example4-model.html

なぜだめですか?

4

3 に答える 3

2

これは、2 番目の例ではコンストラクターでのinlineFiltersオプションDataViewを true に設定しているのに対し、最初の例ではそうではないために発生しています。つまり、2 番目の例では、SlickGrid がフィルター関数を再コンパイルし、関数呼び出しのオーバーヘッドを回避するためにループにインライン化しています。これにより、大規模なデータセットのフィルタリングが大幅に高速化されます。

デバッグしたい場合、ブレークポイントの設定は機能しません。debuggerフィルター関数自体にステートメントを追加する必要があります。

于 2012-06-12T18:02:33.267 に答える
0

example4は関数をdataViewmyFilterフィルターとして設定しますが、フィルタリングはスライダーとテキストボックスのイベント ワイヤリングを介して行われます。行 288 と行 303 で同じことを確認してください。これらのフィルタ ブレークポイントは期待どおりに機能するはずです。

于 2012-06-12T17:32:50.727 に答える
0

コンパイル済みフィルター。

例 4の 197 行目:dataView = new Slick.Data.DataView({ inlineFilters: true });

dataView が初期化されると、inlineFilters フラグによって dataView がフィルターを「コンパイル」するため、元のフィルター関数は呼び出されません。新しい「コンパイル済み」機能が使用されます。

Complied Filters のコードについては、 slick.dataview.jsの201 行目と 466 行目を参照してください。

于 2012-06-12T18:02:13.473 に答える