AngularJs: Wie greife ich auf globale Variablen außerhalb des Controllers zu? [Duplikat]

Diese Frage hat hier bereits eine Antwort:

Globale Variablen in AngularJS 12 Antworten

Ich versuche über eine normale Funktion auf eine globale Variable zuzugreifen. Ist das möglich?

Ich habe mit $ rootScope eine Variable gesetzt und versuche, über eine Rückruffunktion darauf zuzugreifen. Dieser Rückruf wird vom Controller aufgerufen. Ich will nicht weitergeben$rootScope in diesem Rückruf.

Gibt es eine Möglichkeit, darauf zuzugreifen?$rootScope.var ?

Ich bin offen für den Service, wenn es möglich ist.

Bitte vorschlagen.

Vielen Dank

Ich versuche wie folgt auf rootScope zuzugreifen:

    function fbLandingCtrl($scope, $rootScope) {
    $rootScope.isFBLoggedin = false;
    $scope.login = function() {
       console.log( $rootScope.isFBLoggedin);
       fbHelper.login(getUserInfo);
      };

      function getUserInfo(){
          fbHelper.getUserInfo(updateStatus);
      }
      function updateStatus(userInfo){
          $rootScope.isFBLoggedin = true;
          console.log( $rootScope.isFBLoggedin);
      }
  }

und mein service ist als:

    myapp.factory('FBService', [ '$rootScope', function ($rootScope) {
    $rootScope.isFBLoggedin = false; // global variable
    $rootScope.userName = null;
    $rootScope.userEmail = null;

    return {

        getStatus: function() {
            return $rootScope.isFBLoggedin;
        },
        setStatus: function(status) {
            console.log("Status:"+status);
            return $rootScope.isFBLoggedin = status;
        }
       };
}]);

es zeigt isFBLoggedin unter updateStatus fn als true an, spiegelt aber die Ansicht nicht wider

Ich drucke{{isFBLoggedin}} aber es zeigt falsch

Endlich ist es soweit.

Ich bin @ dluz's Lösung gefolgt.

Ich habe auch verwendet$rootScope.$apply(function() {}}) Ansichten zu rendern

Antworten auf die Frage(2)

Ihre Antwort auf die Frage