问题描述
我能够以 snapshot
的形式获取我感兴趣的对象,如此
I was able to fetch my interested object as snapshot
as shown in this CodePen
以下是代码段:
$scope.post = {};
var postsRef = new Firebase('https://docs-examples.firebaseio.com/web/saving-data/fireblog/posts');
$scope.searchPost = function () {
console.log('searched for author : ' + $scope.post.authorName);
postsRef.orderByChild('author')
.equalTo($scope.post.authorName)
.once('value', function (snapshot) {
var val = snapshot.val();
console.log("Searched Post is : ");
console.log(val);
console.log("(From Val) Title is : " + val.title);
var exportVal = snapshot.exportVal();
console.log("Export Value is : ");
console.log(exportVal);
console.log("(From Export Val) Title is : " + exportVal.title);
});
}
这是正在使用。
当我搜索作者时: gracehop
,我得到了正确的快照但是,我无法访问其中的 title
等属性。 val.title
& exportVal.title
将 undefined
作为输出。
When I search for author: gracehop
, I get the correct snapshot but, I'm not able to access properties like title
inside that. Both val.title
& exportVal.title
are giving undefined
as output.
如何从快照中获取感兴趣的属性?
How do I get the interested properties from snapshot?
推荐答案
查询返回包含匹配子项的快照,并且它是子项包含您感兴趣的属性。
The query returns a snapshot containing the matching children and it is the children that contain the properties in which you are interested.
您可以使用快照的 forEach
方法枚举子项:
You can enumerate the children using the snapshot's forEach
method:
postsRef.orderByChild('author')
.equalTo($scope.post.authorName)
.once('value', function (snapshot) {
snapshot.forEach(function (childSnapshot) {
var value = childSnapshot.val();
console.log("Title is : " + value.title);
});
});
这篇关于如何从Firebase中的snapshot.val()或snapshot.exportVal()获取属性/值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!