2016-05-30 17 views
-1

私はAngularJS webappを持っています。ログアウトするとログインページにリダイレクトされます。バックエンドのログアウトサービスから返されたデータに基づいて、ログインページの特定のフィールドを非表示にしたいと考えました。別のコントローラのAngularJS更新スコープデータ

これを行う方法はありますか?私はちょうどログインコントローラjsの変数を更新する必要がありますが、私はログアウトコントローラjsからそれを行う方法がわからないのですか?

AngularJSを完全に新しくしてください!

+0

は信じられないほど広く、任意の数を達成することができるログイン方法。作業しているフォーム、非表示にするフィールド、使用するサンプルデータを含めることができれば、私たちのソリューションについてより具体的にすることができます。 – Makoto

+0

あなたがうまくいくと思う解決策の1つを私に教えてください。ありがとうございました – user3808203

+0

私はこれが広すぎると言いました理由[このメタ投稿にあります](http://meta.stackoverflow.com/q/323721/1079354)。あなたが働いている制約や、あるソリューションが客観的に*あなたのために働くかどうかを実証する方法がないなら、それはあまりにも広すぎる質問のように感じ、いくつかの異なる答えをもたらすでしょう。あなたの基準を絞り込む必要があります。 – Makoto

答えて

0

あなたは私はあなたが使用できると思い、あなたがそれらを

.controller('controllerLogout', function(Config){ 
//do something that update Config 
} 

.controller('MainController' function(Config){ 
     //use Config here to bind it in a ng-show in HTML controlled by 
     //coontroller itself 
} 
+0

私は非常に新しいので、ごめんなさい、それをどのように注入するのですか? – user3808203

+0

私はすでにそれを行っています:)コントローラー関数の引数を見てください:P これで両方のコントローラーのConfig変数を使用できます – shall

+1

'value'が役立つかどうか、実行後に変更することはできません時間 – charlietfl

-1

お互いを通信させるためにあなたのコントローラでそれを注入する必要がある、あなたのアプリに

angular.module('yourAppName') 
    .value('Config', null); 

を「値」オプションを使用する必要がありますそれのための出来事。あなたのログアウトコントローラで

は、次の操作を行います。

$rootScope.$broadcast('loggedOut',data); 

そして、あなたでは、あなたが記述しているどのようなコントローラ

$scope.$on('loggedOut', function(event, data) { 
} 

Plunker

関連する問題