我想显示存储在Firebase数据库中的一些数据。我将数据输入示波器没有问题,但它没有显示给用户。
var ref = new Firebase('https://URL.firebaseio.com/users');
$scope.users = [];
ref.once("value", function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var dataUser = childSnapshot.val()
dataUser.id = childSnapshot.key()
$scope.users.push(dataUser);
});
});
ng-inspector Chrome扩展程序确认数据已加载到范围内。
我错过了什么?
感谢。
答案 0 :(得分:1)
$http
和$setTimeout
等服务在对$apply()
进行异步更改时会自动为您调用$scope
方法,以便更新DOM。您需要致电$scope.$apply();
以触发$digest
循环。
你可以这样做:
var ref = new Firebase('https://URL.firebaseio.com/users');
$scope.users = [];
ref.once("value", function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var dataUser = childSnapshot.val()
dataUser.id = childSnapshot.key()
$scope.users.push(dataUser);
});
$scope.$apply(); //let angular know to trigger $digest loop to update the DOM.
});