Firebase更改未自动反映在页面上

时间:2018-04-30 21:36:42

标签: angular firebase firebase-realtime-database angularfire

我通过执行以下操作成功更新Firebase实时数据库中的内部节点:

...
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问题,但我无法使其发挥作用。

有人能帮我弄清楚我的代码有什么问题吗?

更新:

这是我应该看到结果的地方:

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

0 个答案:

没有答案