Загружайте данные из Firebase, используя AngularJS немедленно

0

Я пытаюсь сделать раздел комментариев на своем веб-сайте. Я правильно связал все мои файлы и получаю данные от Firebase. Но комментарии загружаются только после того, как я либо что-то нажму, либо введите текст в поле "Добавить комментарий"; он не отображает комментарии сразу после загрузки страницы. Кто-нибудь знает, почему?

Соответствующий код: (размещен в верхней части моего контроллера)

$scope.comments = {};
database.ref('comments').on('value', function(items) {
  $scope.comments = items.val();
});
$scope.comment = function() {
  database.ref('comments').push($scope.newComment);
  $scope.newComment = "";
};
Теги:
firebase
firebase-realtime-database

1 ответ

1
Лучший ответ

Использовать $ scope. $ Apply

$scope.comments = {};
database.ref('comments').on('value', function(items) {  
   $scope.$apply(function () {
        $scope.comments = items.val();
   });
});
$scope.comment = function() {
database.ref('comments').push($scope.newComment);
    $scope.newComment = "";
};
  • 1
    Вы должны добавить немного объяснений.
  • 0
    @Aditya: я согласен с Николасом. Это решает мою проблему, но не могли бы вы объяснить, что делает $scope.$apply ?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню