AngularJS не обновляется после изменения значения

Мое намерение состоит в том, чтобы обновить панель навигации после входа пользователя. В основном, это должно изменитьсяLogin вHi, {{usr.username}} сразу после входа в систему.
Тем не менее, он не обновляется после входа в систему, и я должен нажать наLogin снова, чтобы вызвать изменение. Однако в консоли информация о пользователе регистрируется сразу после входа в систему.

В index.html часть кода выглядит следующим образом:

<div class="item" ng-click="loginmodal()" ng-hide="loggedIn">Log in</div>
<div class="item" ng-show="loggedIn">Hi, {{usr.username}}</div>

где$scope.loggedIn инициализируется как ложное и$scope.usr как ноль. Я использую Firebase для аутентификации:

FirebaseRef.authWithPassword({
    "email"    : email,
    "password" : password
}, function(error, authData) {
    if (error) {
        console.log('Login Failed!', error);
    } else {
        console.log('Authenticated successfully with payload:', authData);
        FirebaseRef.child("users").child(authData.uid).once('value', function(dataSnapshot) {
            $scope.usr = dataSnapshot.val();
        });

        $scope.loggedIn = true;

        console.log($scope.usr);
        console.log($scope.loggedIn);
    }
});

В консоли у меня есть$scope.loggedIn как правда, но есть$scope.usrкак ноль.

Это неправильно, как я используюauthWithPassword() функция или я могу заставить изменения быть обновленными?

Ответы на вопрос(3)

Ваш ответ на вопрос