我正在尝试保存角度网格的状态,因此当您返回网格时,用户可以恢复您离开的位置。
单击保存或恢复时,我没有收到任何错误。
保存网格后单击还原时,网格不会更改。
我做错了什么?
$scope.saveState = function(){
console.log("Saving")
var state = $scope.gridApi.saveState.save();
$window.localStorage.setItem('gridState', state);
console.log("Saving done")
};
$scope.restoreState = function(){
console.log("Restoring")
var state = $window.localStorage.getItem('gridState');
if (state) $scope.gridApi.saveState.restore($scope, state);
console.log("Restoring done")
};
答案 0 :(得分:0)
对于遇到此问题的其他人,我发现$window.localStorage
无法保存对象。
要解决此问题,您可以使用JSON.stringify
$scope.saveState = function(){
console.log("Saving")
var state = $scope.gridApi.saveState.save();
console.log(state)
$window.localStorage.setItem('gridState', JSON.stringify(state));
console.log("Saving done")
};
function restoreState(){
console.log("Restoring")
$timeout(function() {
var state = $window.localStorage.getItem('gridState');
console.log(state)
if (state) $scope.gridApi.saveState.restore($scope, JSON.parse(state));
});
console.log("Restoring done")
};