2016-12-26 2 views
1

Lorsque je clique sur une entrée spécifique de la 2ème page de mon datatable, elle me redirige vers une autre page, et quand je reviens, elle me redirige vers la page 1. Le problème ici est que je veux enregistrer l'état et je veux revenir à la page (Ex: 2) d'où j'ai été redirigé.Données angulaires saveState ne fonctionne pas

.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')); 
    }); 

Erreur:

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) 

Il serait vraiment aider beaucoup si vous pouviez me donner un exemple. Merci.

Les versions que je utilise version angulaire: v1 version jquery: 2.2.4 version datatables: 1.10.12 version angulaire-datatables: 0.5.5

Répondre

0

Le problème est résolu à l'aide du code suivant:

<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)) 
    });