2016-12-06 26 views
0

Firebaseデータを取得しようとしましたが、firebase-queryは常に空の配列を返します。ポリマーでFirebaseデータを取得できません

まず第一に、私のFirebaseデータに

/skills 
|___ polymer 
|___ angular 
|___ react 

第二のように見える、私のポリマーコードは以下のようなものです:

そして私は、認証ドメイン、データベース、URLの間違いをしなかったとAPIキーパーツ。

<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> 

とスクリプトコードは次のとおりです。

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

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

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

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

そして、私はまた読むために私のFirebaseルールを変更:

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

私は本当に間違っているどの部分かわかりません。コンソールでは、newDataは常に[]に等しくなります。

+0

インポートステートメントを含めることはできますか?私はあなたがそれを何度か上ったのであなたの問題を知っていることを99%確信しています。 – zacharytamas

+0

@ zacharytamas私はインポートステートメントを含めました。何か必要なことはありますか? –

答えて

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> 

saleBranchです: "更新売却quanity-デモ"

私も、この問題が発生し、それが後に間違ったpath

要素から app-nameを取り除く働きもエラーが発生し、あなたかもしれません試しに削除する /からパス

0

実際に私はfirebase-appとfirebase-query要素を同じファイルに入れませんでした。

今、私は同じファイルに入れて、それが動作します。

しかし、もう1つ質問があります。

これらの要素を別々のファイルに分割できますか?

他のファイルで他のクエリが必要な場合は、再度ファイルごとにfirebase-app要素を入れる必要がありますか?

これらは私のimport文...ピックミーアップ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"> 

ピックミーアップ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"> 
中で

です

ピックアップアップスキルの要素は、ピックアップアップアプリのページにすぎません。

まず、pick-me-up-app.htmlファイルにfirebase-appを配置します。

そして、pick-me-up-skillファイルにfirebase-queryを入れました。

しかし、私はfirebase-appをpick-me-up-skillファイルに移動します。

それが動作します。

関連する問題