我正在尝试检索对象数据,结果显示在控制台上,但它只显示页面上的一个结果(最后一个结果)。
$http.get('/users').success(function(data) {
$scope.username = data; //assign data to username
console.log(data);
});
在我的Jade模板中,我有
section(data-ng-controller='browse')
h4 hi
ul(data-ng-repeat='user in username')
li {{user}}
我想循环浏览这些数据
{
"google: xxxxxxxxxxxxx" : {
"name" : "ZZZ YYY",
"profile" : {
"briefProfile" : "Cost call",
"career" : "Web Developer",
"projects" : {
"-JjtSgiwkqFxTxMv0Gip" : "http://zipper.com"
}
},
"provider" : "google"
},
"google:xxxxxxxxxxx" : {
"name" : "SSS TTT",
"profile" : {
"briefProfile" : "Desired Intelligence",
"career" : "Consultant"
},
"provider" : "google"
}
}
谢谢。(我不使用angularFire)。
答案 0 :(得分:1)
如果你正在使用AngularFire,你应该看看这个:
而不是使用$ http.get尝试:
var data = $firebaseArray(new Firebase("URL"));
$scope.data = data;
不要忘记在控制器中添加$ firebaseArray作为依赖项。
有关AngularFire文档的更多信息: https://www.firebase.com/docs/web/libraries/angular/api.html#angularfire-firebasearray
如果你没有使用AngularFire,请看一下:
var firebaseRef = new Firebase('YOUR-FIREBASE-URL/users/');
firebaseRef.on('value', function(dataSnapshot) {
var data = dataSnapshot.val();
console.log(data);
$scope.users = data;
// Might need to use $digest to update $scope.
$scope.$digest();
});
有关Firebase文档中on()的更多信息: https://www.firebase.com/docs/web/api/query/on.html
答案 1 :(得分:1)
如果您使用的是$http
服务,则说明您没有使用Firebase。
您正在重复ul
而不是li
。此外,{{user}}
将是整个用户对象,您将在页面上看到[Object object]而不是字符串。所以请致电{{user.name}}
。
ul
li(data-ng-repeat='user in users') {{user.name}}
假设$http
出现错误,而您打算使用Firebase,则可能需要先查看Firebase Getting Started guide
// Get a reference to users
var ref = new Firebase('https://<YOUR-FIREBASE>.firebaseio.com/users');
// Attach an asynchronous callback to read the data at users ref
ref.on("value", function(snapshot) {
console.log(snapshot.val());
$scope.users = snapshot.val();
}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
});