2

angularFireAuth を使用しています。ログインしているユーザーの情報を取得し、アプリが初期のときにすべてのコントローラーまたはサービスで使用したいと考えています。

現在、これをすべてのコントローラーで使用していますが、問題があります。

$scope.$on("angularFireAuth:login", function(evt, user){ 
  console.log(user);
});

ページ全体の読み込みでない場合、コールバックは呼び出されないか、アプリの初期化時に null が返されます。

認証されたユーザーの情報を返す方法についてのヒントが必要です。これにより、アプリが初期のときにすべてのコントローラーとサービスで使用できるようになります。

コントローラーまたはサービスの場合

  • $scope.auth.user.idユーザーのIDを返します
  • $scope.auth.user.nameユーザーの名前を返します
4

2 に答える 2

1

あなたの質問が何であるかよくわかりません。ただし、各コントローラーではなく 1 回認証する場合は、代わりにコードをモジュールに入れ、それを $rootScope に入れることができます。

var myapp = angular.module('myapp').run(
    function ($rootScope) {
        $rootScope.user = null;

        $rootScope.$on("angularFireAuth:login", function (evt, user) {
            $rootScope.user = user;

        });
    });
于 2013-08-26T05:31:57.063 に答える