2016-05-04 11 views
-1

私は角度のある初心者です。このチュートリアル(http://sahatyalkabov.com/create-a-tv-show-tracker-using-angularjs-nodejs-and-mongodb/

私はJohn Papaのベストプラクティスを使用しています。だから、私は$スコープではなく、変数を使用します。 var vm = this;私のコントローラとui-routerの

しかし、このチュートリアルでは、一瞬で$ rootScopeを使用します。私はそれが悪い習慣だと見てきましたが、時にはあなたが使用する必要があります。

このチュートリアルでは、$ rootScopeなしで別の可能性を持っているのですか、それとも選択できませんか?

ありがとうございます!

答えて

3

すぐにリンクを確認し、$ rootScopeを使用してcurrentUserプロパティを保持していることに気付きました。この種のものはサービスや工場では優れていますが、私は$ rootScopeをまったく使わないようにしていますが、誘惑は強いです。

2

あなたは正しく、$rootScopeを使用するのは良い方法ではありません。

私が理解したように、このチュートリアルでは、彼はちょうどlogincurrentUserを格納するため$rootScopeを使用しています(とlogoutに削除します)。それでおしまい。

このケースは、$rootScopeをまったく使用せずに簡単に実装できます。もう少しコードが必要ですが、それほど難しいことではありません。

[OK]を、もう少しコードを書いた後、次のような何かを行うことができます悪いプラクティスを使用せずに、あなたのコードを作成する場合:ちょうどその

angular.module('MyApp') 
     .service('UserKeeper', function($) { 
      var userKeeper = { 
       currentUser:{} 
      }; 

      return userKeeper; 
     }); 

と:あなたは、分離されたサービスを作成することができます

あなたのAuth工場にこのサービスを注入し、$rootScopeに保存するのではなく、currentUserのユーザーに保存してください。

+0

あなたの答えをありがとう、それは完璧です! –

+0

よろしくお願いします!私は助けてうれしかった。 – MaKCbIMKo

関連する問題