1

私はJavaScriptの初心者です。以下の関数を使用して滑らかなグリッドを作成し、日付に基づいてURLを操作し、データを取得します。このコードをさまざまな日付に使用すると、ブラウザのメモリ要件が増加しています。私はここで何か間違ったことをしていますか?

var createSlickGrid = function(data, key) {
    var options = ...;
    new Slick.grid($('#temp'), data, options);
}

getData = function(date) {
    url = <some function based on date>;
    $.getJSON(url, function(data) {
       createSlickGrid(data, key);
       data = null;
    });
}
4

2 に答える 2

1

毎回新しい slickgrid を作成するのではなく、slickgrid パッケージに含まれている slick.remotemodel.js を使用すると思います。次の例を参考にしてください: http://mleibman.github.com/SlickGrid/examples/example6-ajax-loading.html

于 2013-01-24T15:55:28.997 に答える
0

新しいSlickgridを作成するとき、古いものをクリアするわけではないので、ガベージコレクションが最終的にそれに到達するまでSlickgridは構築を続けます。

Slick.gridのインスタンスを返すことでコードを支援します。したがって、新しいインスタンスを作成するときに、@ Drewが修正されたので、それが必要な場合は、単にリロードしてから、元のSlickgridを逆参照するか、設定することができます。ガベージコレクションでクリーンアップできるようにするには、NULLに設定します。

于 2013-01-24T18:27:06.793 に答える