私はfirebaseでログインするアプリを持っています。私はこのためにpolymerfireを使用しています。 my-app
これらの子供を持っています:statusKnown
とポリマー - 親から要素を取得
<firebase-app
auth-domain="my-app-ID.firebaseapp.com"
database-url="https://my-app-ID.firebaseio.com"
api-key="my-app-apikey">
</firebase-app>
<firebase-auth
id="auth"
user="{{user}}"
status-known="{{statusKnown}}"
provider="google"
on-error="handleError">
</firebase-auth>
<iron-pages selected="{{page}}" attr-for-selected="name">
<my-loading name="loading"></my-loading>
<my-home name="home"></my-home>
<my-dashboard name="dashboard"></my-dashboard>
</iron-pages>
page
変更とfirebase-auth
要素のuser
財産メインapp要素を手に入れました。 statusKnown
はfalse
ですが、loading
ページが表示されます。 statusKnown
がtrue
の場合、user
がnull
の場合はhome
、ユーザーがdashboard
の場合はどちらかを選択します。
_signInChanged(statusKnown) {
if(this.statusKnown) {
if(this.user) {
this.page = "dashboard"
} else {
this.page = "home"
}
} else {
this.page = "loading"
}
}
home
画面にはサインインするボタンがあり、それはfirebase-auth
機能signInWithPopup()
を呼び出す必要がありますクリックします。しかしfirebase-auth
要素には、my-home
要素からはアクセスできません。 document.getElementByID
で見つからないか、属性として渡されました。または、何らかの理由で親ポインタでアクセスする場合this.parentElement.$.auth.signInWithPopup()
子供からauth
要素を取得するにはどうすればよいですか?
ありがとう、イベントは答え:)と私はすでにそれを解決しました:)しかし、私はポリマー2.0を使用しています。 2.0では、 'this.dispatchEvent(new CustomEvent( 'login'、{bubbles:true、configured:true})')のようにdispatchEventを呼び出してイベントを呼び出すと、 ' 'となります。 –
microo8
stackoverflowに 'Polymer 2.x'というタグがありますので、皆さんが使用しているバージョンが誰にでも分かるように、それを使用することは素晴らしい方法です。だから将来、それを使用しようとします。とにかく私はあなたにアイデアをもたらすのを助けてうれしいです –