-1

Polymer 要素と Polymerfire 要素を使用してアプリを作成していますが、アプリ全体でユーザーと認証の参照を共有する効果的な方法が見つかりません。

認証参照を受け取る私の現在の解決策は次のとおりです。

var auth = document.getElementById('appID').app.auth()

このアプローチは機能しますが、もっと良い方法があるはずだと私は感じています。

2番目の問題は、サブビューでユーザー参照を取得する方法がわからないことです。プロパティ共有によって参照を取得するのは非常に面倒です(そして、このアプローチを使用して問題が発生しています)。

iron-meta タグを使用すると問題が解決する可能性があると考えていましたが、それは、ログインとログアウトのたびに「手動で」値を設定する必要があることを意味します。では、参照を共有するためのより簡単な方法はありますか?

firebase-auth 参照に直接アクセスする場合:

document.getElementById('authID').user

次に、要素のready関数呼び出しでアクセスすると、常にnullになるという問題があります。後で呼び出された場合は正常に機能しますが、ユーザーが準備完了の呼び出しでログインしているかどうかを確認する必要があります(そしてログインページにリダイレクトします)。

さらに、グローバル Polymer 設定が dom: 'shadow' に設定されている場合、このアプローチはまったく機能しません (firebase-auth は index.html ではなく下位にあり、この設定ではインデックスのみにアクセスできます。 html 要素) であり、この設定は将来的にデフォルトで設定されることになっているため、ソリューションを将来的に保証したいと考えています。

Jan さん、どんな回答にも感謝します

4

2 に答える 2

0

問題を解決しました。どうやら、 firebase-auth 要素を好きな場所で初期化することが可能であり、アプリ名が提供されている限り、要素はアプリの状態を保持します。

<firebase-auth id="auth" app-name=name-of-the-app"></firebase-auth>

要素参照を使用するだけではありません。

this.$.auth
于 2016-12-14T17:13:08.500 に答える
0

ポリマーチームが作成したポリマー火の要素は、すべての問題を解決します。

次の要素に分かれています: firebase-auth firebase-app firebase-document firebase-query firebase-messaging

Firebase を使用したビデオ チュートリアル認証 -- ポリキャスト #57

公式ドキュメント

于 2016-12-14T04:15:46.113 に答える