我能够将感兴趣的对象作为snapshot获取,如下面的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);
});
}这是我使用的Firebase dataset。
当我搜索author:gracehop时,我得到了正确的快照,但我无法访问其中的title等属性。val.title和exportVal.title都将undefined作为输出。
如何从快照中获取感兴趣的属性?
发布于 2016-10-03 04:24:18
该查询返回一个包含匹配子项的快照,并且这些子项包含您感兴趣的属性。
您可以使用快照的forEach方法枚举子对象:
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);
});
});https://stackoverflow.com/questions/39820091
复制相似问题