我有一个ng-grid视图,如下所示:
<div class="ng-grid-style" ng-grid="customersGrid"></div>
在此视图的控制器中,我保留了客户列表和所选客户列表:
$scope.customers = [];
$scope.selectedCustomers = [];
我也用这两个来绑定网格:
$scope.customersGrid = {
data: 'customers',
selectedCustomers: $scope.selectedCustomers
};
我还从控制器实例开头的URL中获取客户:
$scope.fetchCustomers() = {
// with $http I bring customers...
// (...)
$scope.customers = response.customers
};
$scope.fetchCustomers();
在视图中,我有指向同一应用程序的其他路线的链接。这些路由关联其他控制器控制的其他视图。
我的问题是,如果我从包含ng-grid的视图导航到另一个视图,然后我使用后退按钮,则会失去状态$scope.customers
和$scope.selectedCustomers
。
这个应用是一个SPA ,所以我应该能够在应用程序的生命周期中将这两个保留在内存中(或其他地方),而不是将它们放在$scope
最常用的存储方法是什么?我已经读过我可以使用localStorage,sessionStarge,服务等。另外,我不确定绑定是如何工作的,而不是使用范围。我可以将不在范围内的数据传递给网格吗?例如:
$scope.customersGrid = {
data: localStorage.customers, // possible?
selectedCustomers: localStorage.selectedCustomers // possible?
};