私のアプリケーションでは、各ユーザに特定のプロファイルがあります。currentUser
という名前のこのプロファイルを保持するサービスを作成しました。ユーザがログインした後にユーザプロファイルを取得する
このプロファイルのプロパティを使用して、サイトのヘッダーをレンダリングし、さらにAPI呼び出しを行います。
問題は、このcurrentProfile
サービスをいつ入力する必要がありますか?
は、いくつかのオプションがあります:
1 - ログイン約束が解決された後:
authService.login(username, pass)
.then(function(response) {
userService.getProfile()
.then(function(profile){
currentUser.setProfile(profile);
$state.go('dashboard');
});
});
このアプローチの主な問題は、ユーザーがこのURL /main/list
であり、ページをリフレッシュした場合、 currentUser
が空になります。
2から$locationChangeStart
とcurrentUser
のイベントハンドラがまだ満たされていないhereなどのUIルータdeferIntercept
とurlRouter.sync()
と$urlRouter.listen()
を使用して、このアプローチの主な問題は、私のヘッダディレクティブとコントローラが前に(または中)に実行されることをです。
私は砂漠化の効果をどのように達成できますか?どんなアイデアも気付かれる!
編集:私はのlocalStorageやクッキーや....
のlocalStorageやクッキーにログイン移入プロファイルの後、戻ってリフレッシュ時にそれを取得します。ログアウト時にクリアしてください –
@SaneeshB私はこれらのストレージを使いたくありません。 – Rachmaninoff