2017-01-12 28 views
1

我創建了一個用戶並使用主元素中的<firebase-auth>(具有下面的代碼片段)登錄,但我只能檢索該主元素(而不是子元素)中的用戶信息。如何使用兒童元素中的聚合火力訪問當前用戶?

<firebase-auth 
     id="auth" 
     app-name="Carecollector" 
     provider="google" 
     signed-in="{{signedIn}}" 
     user="{{user}}"> 
    </firebase-auth> 

如何在子元素中檢索有關當前用戶的信息? 我應該在需要當前用戶信息的每個其他元素內創建一個<firebase-auth>元素嗎?

回答

1

正如其他人所說的,在要檢索用戶信息的子元素中放入一個< firebase-auth>。還要爲該子元素添加一個屬性,並使用Polymer的數據綁定系統將該屬性公開給您的元素。假設你要訪問一個子元素的用戶數據,

HTML

下降< 火力-auth的>在你的元素像這樣;

<firebase-auth user="{{currentuser}}"></firebase-auth> 

SCRIPT

<script> 
    Polymer({ 
     is: 'your-element-name', 
     properties:{ 
      currentuser: Object 
    }); 
</script> 

然後你就可以得到的,例如,用戶的顯示名這樣的:

<div>[[currentuser.displayName]]</div> 

就是這樣。

2

剛落,另一個火力點-auth的任何地方,你需要訪問當前用戶

+0

我剛剛在另一個元素中刪除了另一個firebase-auth,但是當我嘗試訪問它時,用戶屬性的值爲空。我目前正在使用鐵米作爲此 –

+0

的工作周,這絕對應該工作。你不應該使用鐵元。其他事情是錯誤的。 –

1

瑞恩·泰勒說:「剛落,另一個火力點-auth的任何地方,你需要訪問當前用戶」,我投了,因爲它只是WASN沒錯!

我已經證明你沒有權限訪問用戶,通過頻繁的測試和調試來找出這個問題。未定義,null,除此之外的任何用戶!

除非他是正確的......並且除非您爲該屬性或類似的東西設置了觀察者,否則您永遠不會知道它。因爲用戶值在填充時填充,對於像我這樣的JavaScript新手而言,我從來沒有想過這個,並在填充之前一直試圖訪問它。有時需要一兩秒鐘。