首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Firebase中的snapshot.val()或snapshot.exportVal()获取属性/值?

如何从Firebase中的snapshot.val()或snapshot.exportVal()获取属性/值?
EN

Stack Overflow用户
提问于 2016-10-03 02:11:49
回答 1查看 10.8K关注 0票数 1

我能够将感兴趣的对象作为snapshot获取,如下面的CodePen所示

以下是代码片段:

代码语言:javascript
复制
$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.titleexportVal.title都将undefined作为输出。

如何从快照中获取感兴趣的属性?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-03 04:24:18

该查询返回一个包含匹配子项的快照,并且这些子项包含您感兴趣的属性。

您可以使用快照的forEach方法枚举子对象:

代码语言:javascript
复制
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);
        });
    });
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39820091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档