2017-08-08 12 views
0

私はfirebaseデータをdivに表示するためのdomモジュールを作成しています。私はhttps://www.youtube.com/watch?v=9AHDSGitDP0&t=639sのPolycastビデオに続いていますが、firebase-queryコンポーネントはデータを取得していません。サインインしたユーザーデータ以外のデータはコンソールに表示されず、エラーもありません。私は他の人々がポリマー火災でデータを取り込む問題を抱えていたことを知りましたが、私はここで解決策を試しましたが、運はありませんでした:Polymer + Firebase (Polymerfire): <firebase-query> not working inside single page app view (with <firebase-app> located in my-app.html)polymefire firebase-query要素を使用してデータが返されません

誰か助けてもらえますか?私のメインのHTMLページに

私は、次のしている:ここでは

<head> 
    <meta charset="utf-8"> 
    <link rel="stylesheet" href="stylesheets/style.css"> 
    <link rel="import" href="../bower_components/polymer/polymer.html"> 
    <link rel="import" href="../bower_components/polymerfire/polymerfire.html"> 
    <link rel="import" href="../bower_components/polymerfire/firebase-app.html"> 
    <link rel="import" href="../bower_components/polymerfire/firebase-database-script.html"> 
    <link rel="import" href="../bower_components/webcomponentsjs/webcomponents-lite.js"> 
    <link rel="import" href="elements/browse-events.html"> <!-- my custom component --> 
</head> 

<body> 
      <firebase-app 
       api-key="" 
       auth-domain="" 
       database-url="" 
       project-id="" 
       storage-bucket="" 
       messaging-sender-id=""> 
      </firebase-app> 

      <!-- my custom component --> 
      <browse-events></browse-events> 

</body> 

は私のコンポーネントのファイル内のコードです(閲覧-events.html)

<!-- dependencies --> 
<link rel="import" href="../bower_components/polymer/polymer.html"> 
<link rel="import" href="../bower_components/polymerfire/polymerfire.html"> 
<link rel="import" href="../bower_components/polymerfire/firebase-app.html"> 
<link rel="import" href="../bower_components/polymerfire/firebase-database-script.html"> 
<link rel="import" href="../bower_components/polymerfire/firebase-database-behavior.html"> 
<link rel="import" href="../bower_components/polymerfire/firebase-query.html"> 

<dom-module id="browse-events"> 
    <template> 
     <firebase-query 
         id="query-all" 
         app-name="authtest-54513" 
         path="/events" 
         data="{{events}}"> 
     </firebase-query> 

     <template is="dom-repeat" items="[[events]]" as="event"> 
      <div> 
       <h1>[[event.title]]</h1> 
      </div> 
     </template> 
    </template> 

    <script> 
     Polymer({ 
      is:'browse-events', 
      properties: { 
       events: { 
        type: Object 
       } 
      } 
     }); 
    </script> 
</dom-module> 

答えて

1

あなたはfirebaseでアプリ名を使用する場合、 -query namefirebase-appに指定する必要があります。アプリ内にfirebase-appの1つだけを使用している場合は、namefirebase-appに、app-nameを他のポリマーファイヤー要素に残すことができます。

プロパティevents可能性が高い代わりに、オブジェクトの配列です:

クエリの子ノードは、オブジェクト(ほとんどの場合)であれば、dataは 追加余分$keyフィールドで、それらのオブジェクトの配列になります〜 にキーを表します。子ノードが非オブジェクトリーフ値の場合、 dataは、構造体{$key: key, $val: val}のオブジェクトの配列になります。サイドノートでは https://github.com/firebase/polymerfire/blob/master/firebase-query.html

:あなたは、あなたのbrowse-events要素内firebase-queryをインポートする必要があります。 Firebase-queryは、実行する必要があるスクリプトをインポートします。 (メインのhtmlページのfirebase-appと同じ)

+0

firebase-queryからapp-nameを取り除いたときに修正しました。ありがとうございました。どうもありがとう! – greynolds

関連する問題