以下のコードの場所( firebaseURL ) にユーザー値 (auth.uid など) が含まれている場合、firebase-collectionデータはログイン時に firebase-auth から更新されます。Polymer 1.6.0を使用しています
<firebase-auth id="auth"
location="[[firebaseURL]]"
provider="{{provider}}"
params="{{params}}"
user="{{user}}">
</firebase-auth>
<firebase-collection
location="[[firebaseURL]]"
data="{{messages}}">
</firebase-collection>
これは、firebase-auth からのログイン時にユーザー値が変更され、それによって場所の値が変更され、firebase-collection からのデータが更新されるためです。
ただし、場所のパスにユーザーの値が含まれていない場合、ログイン時にデータが表示されないため、ページを更新する必要があります。
これまでのところ、この制限を回避する唯一の方法は、少しハックです。
次のように、firebase-collection の html コードを変更する必要があります。
<firebase-collection
location="[[_location(user)]]"
data="{{messages}}">
</firebase-collection>
このように _location() 関数を追加して、firebase-collectionデータを強制的に更新し、ログイン時に表示する
_location: function(u){
// hacking - to trigger the update firebase-collection/document on-login / on-user-change
return this.user ? this.firebaseURL : "";
}
それは機能しますが、私には正しく見えません。
より良い方法、よりポリマー的な方法はありますか?
ありがとう