保存AngularJS应用程序的状态

时间:2016-01-05 15:52:10

标签: javascript angularjs cookies local-storage angular-cookies

是否可以使用Angular本地存储保存AngularJS应用程序的状态? 我正在创建一个相当简单的基于信息的应用程序,有很多内容我希望能够保存用户当前" location"因此,如果他们关闭应用程序然后再重新打开,应用程序将在该保存点开启。

我一直试图了解cookie和本地存储并查找相关主题但是还没有找到与AngularJS相关的任何内容,只有jQuery。

1 个答案:

答案 0 :(得分: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. 在存储工厂中,我删除了注销

  4. 上的存储状态