Изменения Firebase не отображаются автоматически на странице - PullRequest
0 голосов
/ 01 мая 2018

Я успешно обновляю внутренний узел в моей базе данных Firebase Realtime, выполняя следующие действия:

...
constructor() {
  private db: AngularFireDatabase
}
...    
function updateName(node, innerNode, newName) {
  return new Promise((resolve, reject) => {
    this.db.database
      .ref('nodes/' + node.key + '/innerNodes/' + innerNode.key + '/name')
      .set(newName)
      .then(() => resolve())
      .catch((e) => reject(e));
  })
}

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

При регулярных обновлениях (где я просто делаю db.list(PATH).update(uid, {key:value})) изменения немедленно отражаются на моих страницах. Действительно, у меня есть рабочий пример для того же приложения.

Я читал, что это проблема NgZone, но я не мог заставить ее работать.

Может ли кто-нибудь помочь мне понять, что не так с моим кодом?

UPDATE:

Вот где я должен увидеть результат:

<h1 [(ngModel)]="innerNode.name"></h1>
<button (click)="updateName(node, innerNode, 'New name')" type="button">Change to new name</button>
...