背景:jQuery DataTables:状態保存で使用するテーブルインスタンス名/テーブルIDを明示的に設定するにはどうすればよいですか?
私は基本的に真のクライアント側を使用して、すべてのオーバーヘッドなしに単一ページのアプリケーション(SPA)にあなたのアプリケーションをオン「Turbolinks」と呼ばれるJSライブラリと組み合わせてのDataTableを使用していますフレームワーク。これは、Ruby on Railsアプリケーションのパフォーマンスにとって非常に便利です。
DataTableとの互換性についてはいくつかの頭痛があります。基本的には、TurbolinksナビゲーションのDataTableをすべて破棄し、ターボリンクのページを再度読み込み直すことで、正常に動作します。この方法はうまくいき、TurbolinksでDataTableを動作させるためのベストプラクティスとして、全面的に受け入れられた答えと思われます。
質問:私は私のアプリケーションの一部に追加しようとしている最後の機能/最後の仕上げの上
は、DataTableの状態の保存です。私が直面している問題は、テーブルが破棄される/ページのナビゲーションで再初期化されるたびに、実際には何を呼び出すのかが実際にはわかりませんが、設定オブジェクトをstateSaveCallback - それはそのsInstance
および/またはsTableId
次のようになります。
DataTables_Table_0
その後のlocalStorageキーは以下のように設定されます:
CURRENT_PATHは、あなたがにしているものは何でもパス/ページですDataTables_DataTables_Table_0_/current_path: "{data: data}"
。
その後、ページに戻ったときに再初期化されると、DataTables_Table_1
などに設定され、状態が正しくロードされません。
最後に '0'、 '1'などを増やさないように、そのIDを無効にする方法(またはstateSaveCallback
/stateLoadCallback
の名前を設定する方法)はありますか?それ?こうすると、テーブルが再初期化されたときに、保存された状態がちょうどDataTables_Table/current_path
からプルされますか?