ページを更新した後も角度変数を保持する 質問する

ページを更新した後も角度変数を保持する 質問する

angularページの更新やコントローラ間で変数を保持する方法を見つけようとしています。私のワークフローは、

  • ユーザーはFacebook経由でログインし、アクセストークンを取得します
  • ユーザーのアクセストークンはすべてのリクエストで使用されます

私は2つの方法を試しました。

1 - トークンをrootScope動作しないものに割り当てる

2 - を使用することでfactory

#app.js
'use strict';

angular.module('recipeapp', [])
 .run(['$rootScope', '$injector', 'Authenticate', function($rootScope,$injector, Authenticate){
            $injector.get("$http").defaults.transformRequest = function(data, headersGetter) {
                $injector.get('$http').defaults.headers.common['auth-token'] = Authenticate.getToken();
             }
        }]);

#factory
'use strict';
angular.module('recipeapp')
  .factory('Authenticate', function(){
    var factory = {};
    var accessToken = "";

    factory.setToken = function(token) {
       accessToken = token;
    }
    factory.getToken = function() {
       return accessToken;
    }

    return factory;

  })

#facebook controller
I set the the token with every successful login
Authenticate.setToken(data.app_token);

しかし問題は、ページを更新するとAuthenticate.getToken()空白になってしまうことです。私は初心者なのでangular、ページを更新してもデータを保持する方法がわかりません。

ご協力いただければ幸いです

ベストアンサー1

使えますlocalStorage。本当に使いやすいです。

var token = "xxx";
localStorage.setItem("token", token);
localStorage.getItem("token"); //returns "xxx"

おすすめ記事