Я успешно обновляю внутренний узел в моей базе данных 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>