2016-11-28 7 views
2

私はユーザー名またはユーザーイメージを表示する必要があるたびにバックエンドAPIを呼び出している角型Webアプリケーションを使用しています。しかし、アプリケーションを最初に起動したときにlocalStorageにこの情報をキャッシュすることができるようになりました。 Angularでこれを行うための最善の方法または最適な場所は何でしょうか?私はそれがjquery $(document).readyメソッドに相当するイメージであることをイメージします。どんなヒントもありがとう。初期コードを角1に配置する場所は?

答えて

3

run blockに入れることができます。あなたのアプリは、あなたがこのためにmodule.runを使用することができますが、より良いオプションは、テーマに関連するサービスになり

angular.module('myApp').run(function() { 
    //Run init code 
}); 
+0

ああ、クールです。私に調査させてください。ありがとう。 – Grateful

0

を起動するときに一度だけ実行されます。角度サービスは一度作成されるので、ロードコードをトップレベルに置くことができます。

など。

angular.module('myApp').service('currentUser', function() { 
    // load user data from local storage, if not found load from server 
    // then store in localStorage 

    this.name = /* loaded name */; 
    // etc... 

}); 

要求のほとんどが非同期であるので、あなたではなく、ユーザの約束を返すfactoryを行いたい場合があります。

+0

私は 'service'と' run'の使い方を組み合わせたいと思うでしょう。まず、キャッシングのCRUD操作に役立つサービスを作成してから、このサービスクラスを角度ランメソッドから呼び出すことにしました。 – Grateful

関連する問題