Firebase-запрос Polymerfire не работает и нет журнала ошибок
Я хочу получить данные из Firebase, используя Polymirefire, и почему-то это не работает.
Firebase данные
lol-project (a name with 5 randomized letters)
+- events
+- (some random event id, which is auto-generated)
+- name: "haha"
+- desc: "hihi"
+- (some random event id, which is auto-generated)
+- name: "huhu"
+- desc: "hehe"
Код (Polymer v1.6, Polymerfire v0.10.2)
<link rel="import" href="../../../bower_components/polymerfire/polymerfire.html">
<link rel="import" href="../../../bower_components/polymerfire/firebase-auth.html">
<link rel="import" href="../../../bower_components/polymerfire/firebase-query.html">
...
<firebase-auth user="{{user}}"></firebase-auth>
<firebase-query id="eventquery" path="/events" data="{{events}}"></firebase-query>
<div class="Page-container" id="section1">
<template is="dom-repeat" items="[[events]]" as="item">
<p>[[item.name]]</p>
</template>
</div>
...
properties: {
events: {
type: Object,
observer: '_eventsChanged'
}
},
_eventsChanged: function(newData, oldData) {
console.log("it changed?!");
console.info(newData);
}
Правила Firebase
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
Нет ошибок, нет данных. console.info(newData);
дает пустой массив. После нескольких часов поиска в Google, я наткнулся на похожий случай, который, по-видимому, остался здесь без ответа (да, эта проблема во многом похожа на эту).
Кто-нибудь знает, что мне не хватает? Пожалуйста помоги.
1 ответ
Несколько вещей:
events
это массив Смотрите firebase-query: "Если дочерние узлы запроса являются объектами (в большинстве случаев), данные будут массивом этих объектов с дополнительным полем $key, добавленным для представления ключа".- Нет необходимости импортировать
polymerfire.html
- Вы уверены, что вы вошли в систему? Вы можете распространять зарегистрированное свойство в firebase-auth
<firebase-auth user="{{user}}" signed-in="{{signedIn}}"></firebase-auth>
и местоUser signedIn is {{signedIn}}
чуть выше вашего<div>
,
Вы также можете временно изменить правила безопасности вашей базы данных.