2

我想使用 Firebase 和 Polymer 创建一个网站。

无需登录(如果在 Firebase console.firebase.google.com 中更改)。

以下是数据库规则:

{
  "rules": {
    ".read": "true",
    ".write": "auth != null"
  }
}

对于有权访问该应用程序的任何人来说,这都应该没问题。

然而,当我尝试查询一个元素时,我得到零个结果(一个空数组)。

简而言之,代码是这样的:

<firebase-app auth-domain="xyz.firebaseapp.com"
   database-url="https://xyz.firebaseio.com/"
  api-key="AIzaSyB7md4GqkXA-hsEF_CLU3ryHj-xxxxxxxxxx">
</firebase-app>

<firebase-document
  path="/organizers/"
  data="{{noteData}}">
</firebase-document>
  {{noteData}}

<firebase-query
    id="query"

    path="/organizers/"

    data="{{data}}">
</firebase-query>
   {{data}}
    </template>
    <script>
        Polymer({
            is: 'my-app',

            properties :{
                data: {
                    type:Object,
                    observer: 'dataChanged'
                }
            },
            dataChanged: function (newData, oldData){
                console.log('new data: '+ newData);
                console.log('old data: '+ oldData);

            }

        });
    </script

数据库中有数据。

我不明白为什么没有检索到数据。我不需要 firebase-auth 元素,因为我正在对数据进行匿名访问,对吗?

4

1 回答 1

0

我认为使用您给定的代码,您的数据实际上是被获取的。您可以删除

<firebase-document>

并在您的查询中通过指定应用程序名称添加对您的 firebase 应用程序对象的引用。

关于应用程序名称的文档并不多,但我认为它用作命名空间。

此外,您如何记录数据存在问题。尝试从日志中删除“新数据:”和“旧数据:”部分,以便浏览器开发工具可以推断数据类型并正确显示它(在您的情况下作为对象/数组)。

至于你的firebase-document,如果你想保留它,数据属性绑定到“noteData”而不是“data”

于 2016-11-23T07:34:19.510 回答