2

Angular ローカル ストレージを使用して AngularJS アプリの状態を保存することは可能ですか? 私はかなり単純な情報ベースのアプリを作成しています。ユーザーの現在の「場所」を保存できるようにしたいと考えていたかなりの量のコンテンツを使用して、アプリを閉じて後で再度開くと、その保存された時点でアプリが開きます。

私はクッキーとローカルストレージに頭を悩ませ、関連するテーマを探してきましたが、AngularJS でこれに関連するものを見つけることができず、jQuery だけです。

4

1 に答える 1

0

この問題は解決しましたか?次の3つの手順で解決しました。

  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 に答える