Ventura が提案したUsing Jquery Datatable with AngularJsと同様に、角度ディレクティブ (My ディレクティブ: https://gist.github.com/jianbo/6734624 ) で datatable lib を使用しています。私はfnDrawに問題があります.私のアプリでは、angularを使用しているため、ページがまったくリロードされないため、複数のWebページにそれぞれデータテーブルがあります。
$(".resource-filter").live "change", (event) ->
scope.dataTable.fnDraw() // This is where error triggered
$("#sSearch").live "keyup", (event) ->
scope.dataTable.fnDraw() // This is where error triggered
データテーブルは引き続き各ページにデータをロードできますが、複数のページにアクセスした後、scope.dataTable.fnDraw() を呼び出してデータテーブルをフィルタリングしようとすると、次のエラーが発生しました:Uncaught TypeError: null のプロパティ 'oFeatures' を読み取れません
reDraw 関数にいくつかのブレーク ポイントを配置したところ、oSettings (行 5557) が null であることがわかりました。複数のデータテーブルが含まれている DataTable.settings を見つけることができますが、for ループは現在のものと一致しません
何か案が?
function _fnSettingsFromNode ( nTable )
{
for ( var i=0 ; i<DataTable.settings.length ; i++ )
{
if ( DataTable.settings[i].nTable === nTable )
{
return DataTable.settings[i];
}
}
return null;
}
oSettings = _fnSettingsFromNode( this[DataTable.ext.iApiIndex] );