2016-12-06 1 views
0

J'ai essayé d'obtenir mes données Firebase mais la requête firebase retourne toujours un tableau vide.Impossible d'obtenir les données Firebase dans Polymer

Tout d'abord, dans mes données Firebase ressemble

/skills 
|___ polymer 
|___ angular 
|___ react 

En second lieu, mon code polymère est comme ci-dessous:

Et je n'ai pas fait des erreurs dans auth-domaine, base de données url et pièces api-clés.

<firebase-app 
    name="pick-me-up" 
    auth-domain="auth-domain" 
    database-url="db-url" 
    api-key="my-key"> 
</firebase-app> 

<firebase-query 
    id="query" 
    app-name="pick-me-up" 
    path="/skills/" 
    data="{{data}}"> 
</firebase-query> 

<template is="dom-repeat" items="{{data}}" as="skill"> 
    <li class="item">{{skill}}</li> 
</template> 

et le code de script:

Polymer({ 
    is: 'pick-me-up-skills', 

    properties: { 
    data: { 
     type: Object, 
     notify: true 
    } 
    }, 

    observers: [ 
    '_dataChanged(data.*)' 
    ], 

    _dataChanged: function(newData, oldData) { 
    console.log(newData); 
    } 
}); 

Et je change aussi mes règles Firebase lire:

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

Je ne sais vraiment pas quelle partie est fausse. Dans la console, newData est toujours égal à [].

+0

Pouvez-vous inclure vos instructions d'importation?Je suis sûr à 99% que je connais votre problème parce que j'ai trébuché dessus plusieurs fois aussi. – zacharytamas

+0

@zacharytamas J'ai inclus mes instructions d'importation. Y at-il quelque chose dont vous avez besoin? –

Répondre

0
<firebase-app 
    auth-domain="glass-turbine-148103.firebaseapp.com" 
    database-url="https://glass-turbine-148103.firebaseio.com" 
    api-key="[secret]"> 
</firebase-app> 
<firebase-document 
    id="documentStores" 
    path="/[[saleBranch]]/stores" 
    data="{{stores}}"> 
</firebase-document> 
<firebase-query 
    id="queryProducts" 
    path="/[[saleBranch]]/products" 
    data="{{products}}"> 
</firebase-query> 

ici saleBranch est: "update-vente-quanity-demo"

Je rencontre également ce problème, mais il fonctionne enlever après app-name de l'élément

incorrect path aussi causer une erreur, vous pouvez essayez de supprimer / du chemin

0

En fait, je n'ai pas placé les éléments firebase-app et firebase-query dans le même fichier.

Maintenant, je l'ai mis dans le même fichier alors ça marche.

Mais j'ai encore 1 question. Puis-je scinder ces éléments en différents fichiers?

Si j'ai besoin d'autres requêtes dans d'autres fichiers, devrais-je mettre à nouveau l'élément firebase-app dans chaque fichier?

Ce sont mes déclarations d'importation ...

Dans pick-me-up-app.html

<link rel="import" href="../bower_components/polymer/polymer.html"> 
<link rel="import" href="../bower_components/app-layout/app-drawer/app-drawer.html"> 
<link rel="import" href="../bower_components/app-layout/app-drawer-layout/app-drawer-layout.html"> 
<link rel="import" href="../bower_components/app-layout/app-header/app-header.html"> 
<link rel="import" href="../bower_components/app-layout/app-header-layout/app-header-layout.html"> 
<link rel="import" href="../bower_components/app-layout/app-scroll-effects/app-scroll-effects.html"> 
<link rel="import" href="../bower_components/app-layout/app-toolbar/app-toolbar.html"> 
<link rel="import" href="../bower_components/app-route/app-location.html"> 
<link rel="import" href="../bower_components/app-route/app-route.html"> 
<link rel="import" href="../bower_components/iron-pages/iron-pages.html"> 
<link rel="import" href="../bower_components/iron-selector/iron-selector.html"> 
<link rel="import" href="../bower_components/paper-icon-button/paper-icon-button.html"> 
<link rel="import" href="../bower_components/paper-tabs/paper-tabs.html"> 

<link rel="import" href="pick-me-up-icons.html"> 
<link rel="import" href="shared-styles.html"> 

Et pick-me-up-skills.html

<link rel="import" href="../bower_components/polymer/polymer.html"> 
<link rel="import" href="shared-styles.html"> 

<link rel="import" href="../bower_components/iron-icon/iron-icon.html"> 

<link rel="import" href="../bower_components/polymerfire/firebase-app.html"> 
<link rel="import" href="../bower_components/polymerfire/firebase-query.html"> 
<link rel="import" href="pick-me-up-skill-card.html"> 

éléments de compétences pick-me-up est juste page dans pick-me-up-app.

D'abord je mets firebase-app dans le fichier pick-me-up-app.html.

Et j'ai mis firebase-query dans le fichier de compétences de ramassage.

Mais cela ne fonctionne pas, donc je déplace firebase-app dans le fichier de compétences de ramassage.

Et puis cela fonctionne.