【发布时间】:2016-12-20 21:13:46
【问题描述】:
我能够从我的 Firebase 数据库中检索数据,但直到我点击页面上的按钮或输入字段后,我的范围才会更新。我假设它与AngularJS有关,但我无法弄清楚。
这是我从 Firebase 读取数据的函数:
var userId = firebase.auth().currentUser.uid;
database.ref('/users/' + userId).on('value', function(snapshot) {
console.log(snapshot.val().user);
console.log(snapshot.val().weight);
console.log(snapshot.val().updated);
$scope.displayName = snapshot.val().user;
});
console.log 结果很好,scope.displayName 很好,但是范围本身不会更新,直到我单击一个按钮并且我希望它在页面加载时更新(只要database.ref 运行)。
绑定:
<p>{{displayName}}</p>
【问题讨论】:
-
这是因为作用域在 .on() 函数内部。它在改变范围之前寻找值的变化。
标签: javascript angularjs firebase scope firebase-realtime-database