Обновление angularjs ng-repeat с данными из firestore - PullRequest
0 голосов
/ 24 августа 2018

Html

<li ng-repeat="name in $ctrl.names">{{name}}</li>

Приведенный ниже код извлекает данные из базы данных пожарного депо, и массив верхних имен обновляется.Однако представление не заполняется новыми данными.Я много читал об этом вопросе о stackoverflow и других местах, но безуспешно.Может кто-нибудь помочь, пожалуйста?Спасибо.

let names = [];
this.names = names;
listRef.get()
.then(function(doc) {
  if (doc.exists) {
    names = doc.data().listOfNames;
  }
}

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Нашли исправление.Обернул переменную, которую я хотел обновить, в $ scope. $ Apply ().Это заставляет angularjs следить за обновлениями в $ scope.name, чего раньше он не делал, поскольку переменная $ scope.names обновлялась вне контекста angularjs.

$scope.names = [];
listRef.get()
.then(function(doc) {
  if (doc.exists) {
    $scope.$apply(function () {
      $scope.names = doc.data().listOfNames;
    }
  }
}
0 голосов
/ 24 августа 2018

Можете ли вы попробовать это?Я предполагаю, что вы теряете ссылку на массив здесь.

let names = [];
$ctrl = this;
$ctrl.names = names;
listRef.get()
.then(function(doc) {
  if (doc.exists) {
    $ctrl.names = doc.data().listOfNames;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...