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 ответ

Несколько вещей:

  1. events это массив Смотрите firebase-query: "Если дочерние узлы запроса являются объектами (в большинстве случаев), данные будут массивом этих объектов с дополнительным полем $key, добавленным для представления ключа".
  2. Нет необходимости импортировать polymerfire.html
  3. Вы уверены, что вы вошли в систему? Вы можете распространять зарегистрированное свойство в firebase-auth <firebase-auth user="{{user}}" signed-in="{{signedIn}}"></firebase-auth>и место User signedIn is {{signedIn}} чуть выше вашего <div>,

Вы также можете временно изменить правила безопасности вашей базы данных.

Другие вопросы по тегам