AngularJSのサービスデータを消去する際のベストプラクティスは何ですか?たとえば、user1がログアウトしてuser2が同じブラウザで再びログインする場合、サービスデータを消去しない場合、user2はuser1と同じサービスデータを使用します。AngularJSのサービスデータのリセット/クリア
たとえば、user1がサービスにユーザーを追加してログアウトし、同じブラウザでuser2が再度ログインした場合、user1が追加されたすべてのユーザーを表示できます。
var module = angular.module('myapp', []);
module.service('userService', function(){
var users = ['John', 'James', 'Jake'];
});
私はこの問題に取り組むための2つのソリューションを持っているが、どれも理想的ではありません。
- サービス内のすべてのプロパティを手動でリセットします。誰かがいつかそれをするのを忘れるかもしれないので、これは理想的な解決策ではないようです。
- ログアウト時にリロードウィンドウ。サービスをリセットするようですが、ユーザーエクスペリエンスはやや劣ります。
もっと良い選択肢はありますか?ログアウト時に
これは多くのパラメータに依存しており、現在の質問は広すぎて答えられません。あなたはhttps://github.com/witoldsz/angular-http-authを試すことができます - イベントを使ってログアウト/許可されていないリクエストを処理できるようにします –
私はすでにインターセプタを使用しています。私が知りたいと思うのは、ログアウトイベント中です。サービス状態を効率的にクリアするにはどうしたらいいですか? – m0g
また、あなたのコードにも依存します - データをlocalStorage、variablesに保存しますか?あなたが 'ui-route'モジュールを使っているのか、単に' ngRoute'を使っているのか、質問にいくつかのコードを含めることができれば最高です。あまりにも多くの未知の要因 –