問題タブ [polymerfire]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
254 参照

javascript - PolymerfireのGoogle認証が機能しない

私は Polymer と Firebase を初めて使用します (そしてプログラマーとしても)。Google で簡単なログインを行い、ユーザーがログインしていることを表示しようとしています。Google Authは Firebase で有効になっています。ログインしているユーザーがいない場合、ログアウト ボタンは非表示にする必要がありますが、ログイン ボタンをクリックしても何も起こりません。ブラウザのコンソールに警告はありません。私が使用しているコードは次のとおりです。

0 投票する
0 に答える
139 参照

firebase - エラーイベントをコールバックするためにPolymerfire(firebase-document)を取得しますか?

firebase-documentリクエストが失敗した後にエラー イベントをコールバックするにはどうすればよいですか? (または、少なくとも要求が完了したという通知があれば、応答を強制的にチェックして、期待されるデータを受信したかどうかを確認できますか?)

たとえば、パスにドット ( .)などの不正な文字を入力すると、

そして、次のエラーメッセージが表示されます。

キャッチされないエラー: Firebase.child が失敗しました: 最初の引数は無効なパスでした: "email-address/user@example.com"。パスは空でない文字列である必要があり、"."、"#"、"$"、"["、または "]" を含めることはできません。

errorイベント(または何か)が自動的に発生するようです。しかし、ドキュメントには何も言及されていません

例外コールバックまたは少なくとも応答が完了した通知を取得するにはどうすればよいですか?

0 投票する
1 に答える
87 参照

firebase - PolymerFire で onDisconnect メソッドを使用するにはどうすればよいですか?

Firebase Javascript ライブラリを使用すると、onDisconnect() メソッドを使用して、クライアントが切断されたときにデータベースの更新をスケジュールできます。

Google は、PolymerFire と呼ばれる一連の Polymer 要素をリリースしました。これにより、Polymer アプリと Firebase の接続が非常に簡単になります。

PolymerFire を使用して Polymer アプリ内から onDisconnect メソッドを使用する方法を理解した人はいますか?

0 投票する
1 に答える
304 参照

object - Firebase Push ID と Polymer dom-repeat - サブプロパティへの双方向データ バインディングを維持する方法は?

次のセットアップで Firebase と Polymer を使用しています。

Firebase データ

ご覧のとおり、user-id とリスト card-sets の下に複数のユーザーがいます。firebase push idこれは基本的に配列ですが、共同作業になる可能性があるため 、使用したいオブジェクトとして保存されます。ここに画像の説明を入力

ポリマーコード

Polymer では、dom-repeat を使用して項目を繰り返し処理しています (静止配列を使用している限り、これはうまく機能しました。

問題

知られているようにdom-repeat、配列が必要ですが、プッシュ ID を使用しているため、Firebase はオブジェクトを提供します。配列を使用して、オプションではなく Firebase に保存します (例: [0: abc, 1: def])。また、双方向のデータバインディングを維持する必要があります

試した解決策

(1)一方向データバインディング - 代替案 1

(2)一方向データバインディング - 代替案 2

(3)双方向データバインディング

前述のように、(1) と (2) はオプションではありません。(3) は実際には機能していますが、このソリューションを使用すると、サブプロパティを 1 つだけ更新すると、オブジェクト内のすべてのサブプロパティが更新されます。これにより、dom-repeat に要素の再初期化が強制されます。要素を使用している<paper-input>ため、1 つのキーを押すとフォーカスが失われます。

(4) また、(1) または (2) を使用してからサブプロパティに手動でバインドすることはできません。これは、動的インデックス (例: {{dataCardSet.card-items.index}}) を使用したバインディングを使用する方法がないためです。

(5) また、データ バインディングを動的に作成できないという同じ問題があるarray-selector内で使用しようとしました。dom-repeat

サポートが必要

dom-repeat を維持し、push-ID を使用して、双方向のデータバインディングを維持する方法が必要です。Firebase は宣伝されていますが、Polymer フレームワークを標準として使用していないため、実際には驚き、失望しています。

また、 GitHubのコードを使用した Rob Dodson によるこのPolycastは、これが簡単に機能するという印象を与えますが、コードを見ると、ビデオに示されているように配列とプッシュ ID が使用されています。

ご協力いただきありがとうございます!

0 投票する
3 に答える
1023 参照

firebase - Polymer と Polymerfire: オブザーバーからのデータをループする方法は?

私は単純な<firebase-query>タグを持っています<dom-repeat>.. たとえば、いくつかのフィールドをリンクに変換し、いくつかの日付も解析する必要があります。

そのため、準備ができたらデータを取得し、各項目をループして、値の一部を変更する必要があります。

そのために、データの準備ができたときにそれを検出するオブザーバーを用意しました。ただし、その JavaScript 関数からデータをループする方法がわかりません。アイテムは存在しますが、何らかの理由でfor(var i in items)機能しません。

コンポーネントは次のとおりです。

理想的には、オブザーバー関数でやりたいことは次のようなものです。

しかし、データをループできないようです。

オブザーバー関数内では、次のconsole.log(data)ような奇妙なものを返します。

アップデート:

これは、console.log(data) が返す内容のスクリーンショットです (オブザーバー内から):

ここに画像の説明を入力

配列にはすべてのオブジェクトが取り込まれているように見えますが、Array[0] として表示されます。したがって、それらをループすることはできません。

更新 2:

alfost のおかげで、解決策は次のとおりです。

0 投票する
3 に答える
1212 参照

firebase - ポリマー + Firebase (Polymerfire):単一ページのアプリ ビュー内で動作しない (とmy-app.html にあります)

Polymerfire と Polymer App Toolbox テンプレートを使用して、データを Firebase にプッシュしようとしています。

  • my-app.html構成されたコンポーネントが含まれています<firebase-app>
  • my-models.htmlmy-app.html(ルートで構成されたページ)<add-model>コンポーネントが含まれています
  • <add-model><firebase-query><firebase-auth>、入力、送信ボタンのあるフォームです。
  • <firebase-query>オブジェクトで次の関数を使用してデータをプッシュしようとしていadd-model.html Polymerます:

    結果

  • リターンpushでの<firebase-query>オブジェクトの呼び出し(この Q/Aで説明されています。私たちの場合は、適切に宣言されていないように見えるためです)。add-model.htmlCannot read property 'push' of undefined<firebase-app>

  • <firebase-app>からファイルに移動すると関数は機能しますが、Firebase の機能がmy-app.html失われます。add-model.htmlpushmy-app.html
  • <firebase-app>my-app.html と add-model.html の両方を呼び出すと戻りますUncaught Error: Firebase App named 'firebase-app' already exists.
  • <firebase-auth>で動作しadd-model.html、オブジェクトを返し[[user]]ます。

ルートからfirebase-query適切に通信するにはどうすればよいですか?firebase-app

0 投票する
2 に答える
5170 参照

firebase - ポップアップ リダイレクトでの Polymerfire-auth エラー「auth/popup-closed-by-user」404

Polymer Starter Kit に基づいて Firebase プロジェクトを作成し、ルーティングを修正するためにいくつかの変更を加えましたが、サインイン ポップアップがすぐに閉じてエラーがログに記録されます。

操作を完了する前に、ポップアップがユーザーによって閉じられました。

ここに画像の説明を入力

関数 (以下の_authenticateコード内) は、ユーザーを認証するために呼び出されます。Facebook コンソールと Google コンソールの両方で適切に設定できたので、エラーの意味がわかりません。

これが私のコードです:

0 投票する
2 に答える
480 参照

asynchronous - Polymer と Firebase: パスの変更動的に

私はいくつかのデータを取得するコンポーネントを持っています。内部にバインディングがあるため、パスは動的です。

次に、パスを動的に変更するリンクがいくつかあります。それに応じてデータのリストが更新されることを期待しています。

ページを最初にロードしたときは問題なく動作しますが、リンクをクリックしてパスを更新する (したがって新しいデータを取得する) と、何も返されません。

オブザーバーで何が起こっているかを確認したところ、パスを更新するたびにデータが 2 回更新されているように見えます。最初に期待する実際のデータが返され、次に空の配列が返されます。

コンポーネントは次のとおりです。

リンクの 1 つをクリックすると、コンソールに次のように表示されます。

ここに画像の説明を入力

非同期の魔術が行われているようです - これを解決する方法はありますか?