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()
функция или я могу заставить изменения быть обновленными?