При использовании Polymerfire и анонимном входе в объект firebase-query нет данных

Я хочу создать веб-сайт с помощью 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, так как я делаю анонимный доступ к данным, верно?




Ответы (1)


Я думаю, что с вашим данным кодом ваши данные действительно извлекаются. Вы можете удалить

<firebase-document>

и в своем запросе добавьте ссылку на ваш объект приложения firebase, указав имя приложения.

Документации по названию приложения не так много, но я думаю, что оно функционирует как пространство имен.

Кроме того, существует проблема с тем, как вы регистрируете данные. Попробуйте удалить части «новые данные:» и «старые данные:» из вашего журнала, чтобы инструменты разработчика браузера могли правильно определить тип данных и отобразить его (как объект/массив в вашем случае).

Что касается вашего документа firebase, если вы хотите его сохранить, атрибут данных привязан к «noteData», а не к «данным».

person Joey Roosing    schedule 23.11.2016
comment
Он Джоуи, спасибо. Кажется, он отлично работает с подсказками, которые вы предоставили. - person rjankie; 23.11.2016
comment
Какое полное решение? - person Artem Novikov; 26.05.2017