2

是否可以使用 Angular 本地存储来保存 AngularJS 应用程序的状态?我正在创建一个相当简单的基于信息的应用程序,其中包含相当多的内容,我希望能够保存用户当前的“位置”,这样如果他们关闭应用程序然后稍后重新打开,应用程序就会在该保存点打开。

我一直在尝试了解 cookie 和本地存储并寻找相关主题,但无法找到与 AngularJS 相关的任何内容,只有 jQuery。

4

1 回答 1

0

你解决了这个问题吗?我通过以下三个步骤解决了它:

  1. 在我拦截权限的角度配置阶段,我还有一个$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);
      }
    });
    
  2. 在登录/身份验证过程或您检查用户是否已通过身份验证的任何地方,您会将用户重定向到某个状态并将用户重定向到以前的状态

    var previousState = $localStorage.getState() || Authentication.redirectState;
    
    if (Authentication.isAuthenticated()) $state.go(previousState);
    
  3. 在存储工厂中,我在注销时删除了存储的状态

于 2017-01-19T13:57:42.413 回答