是否可以使用 Angular 本地存储来保存 AngularJS 应用程序的状态?我正在创建一个相当简单的基于信息的应用程序,其中包含相当多的内容,我希望能够保存用户当前的“位置”,这样如果他们关闭应用程序然后稍后重新打开,应用程序就会在该保存点打开。
我一直在尝试了解 cookie 和本地存储并寻找相关主题,但无法找到与 AngularJS 相关的任何内容,只有 jQuery。
是否可以使用 Angular 本地存储来保存 AngularJS 应用程序的状态?我正在创建一个相当简单的基于信息的应用程序,其中包含相当多的内容,我希望能够保存用户当前的“位置”,这样如果他们关闭应用程序然后稍后重新打开,应用程序就会在该保存点打开。
我一直在尝试了解 cookie 和本地存储并寻找相关主题,但无法找到与 AngularJS 相关的任何内容,只有 jQuery。
你解决了这个问题吗?我通过以下三个步骤解决了它:
在我拦截权限的角度配置阶段,我还有一个$transitions.onSuccess
钩子。我监听所有转换成功并存储当前状态名称 - 除非它的登录或注销
$transitions.onSuccess('*', function(trans) {
var currentState = trans.router.stateService.current.name;
if (currentState !== 'signin' &&
currentState !== 'signout') {
$localStorage.storeState(trans.router.stateService.current.name);
}
});
在登录/身份验证过程或您检查用户是否已通过身份验证的任何地方,您会将用户重定向到某个状态并将用户重定向到以前的状态
var previousState = $localStorage.getState() || Authentication.redirectState;
if (Authentication.isAuthenticated()) $state.go(previousState);
在存储工厂中,我在注销时删除了存储的状态