【问题标题】:Angular Datatables saveState not workingAngular Datatables saveState 不起作用
【发布时间】:2016-12-28 23:01:32
【问题描述】:

当我从数据表的第二页单击特定条目时,它会将我重定向到另一个页面,当我返回时,它会将我重定向到第 1 页。 这里的问题是我想保存状态并且我想返回到我被重定向的页面(例如:2)。

.withOption('bStateSave',true)
    .withOption('stateSaveCallback', function (aoData,  oSettings) {
        console.log('performing save of settings');
        localStorage.setItem( 'DataTables_home', JSON.stringify(aoData)) ;
    })  
    .withOption('stateLoadCallback', function (oSettings) {
        console.log('performing load of settings');
        return JSON.parse( localStorage.getItem('DataTables_home') );
    });

错误:

 Unexpected token o in JSON at position 1
    at Object.parse (<anonymous>)
    at jQuery.fn.init.<anonymous> (app.js:14430)
    at _fnLoadState (jquery.dataTables.js:6308)
    at HTMLTableElement.<anonymous> (jquery.dataTables.js:1221)
    at Function.each (base.js:365)
    at jQuery.fn.init.each (base.js:137)
    at jQuery.fn.init.DataTable [as dataTable] (jquery.dataTables.js:869)
    at jQuery.fn.init.$.fn.DataTable (jquery.dataTables.js:15105)
    at Object.renderDataTable (angular-datatables.js:757)
    at Object.hideLoadingAndRenderDataTable (angular-datatables.js:773)

Cannot read property 'parentNode' of null
    at _Api.<anonymous> (jquery.dataTables.js:9213)
    at _Api.iterator (jquery.dataTables.js:6978)
    at _Api.<anonymous> (jquery.dataTables.js:9212)
    at _Api.destroy (jquery.dataTables.js:7141)
    at jQuery.fn.init.DataTable.fnDestroy (jquery.dataTables.js:412)
    at HTMLTableElement.<anonymous> (jquery.dataTables.js:923)
    at Function.each (base.js:365)
    at jQuery.fn.init.each (base.js:137)
    at jQuery.fn.init.DataTable [as dataTable] (jquery.dataTables.js:869)
    at jQuery.fn.init.$.fn.DataTable (jquery.dataTables.js:15105)

如果你能给我举个例子,那真的很有帮助。 谢谢。

我正在使用的版本 角度版本:v1 jquery 版本:2.2.4 数据表版本:1.10.12 角度数据表版本:0.5.5

【问题讨论】:

    标签: angularjs angular-datatables


    【解决方案1】:

    使用以下代码解决了该问题:

    <table id="example" datatable 
      dt-options="showCase.dtOptions"
      dt-columns="showCase.dtColumns">
    </table>
    
    vm.dtOptions = DTOptionsBuilder.fromSource('data.json')
      .withOption('stateSave', true)
      .withOption('stateSaveCallback', function(settings,data) {
        localStorage.setItem('DataTables_' + settings.sInstance, JSON.stringify(data));
      })
      .withOption('stateLoadCallback', function(settings) {
        return JSON.parse(localStorage.getItem('DataTables_' + settings.sInstance ))
      });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-19
      相关资源
      最近更新 更多