2015-07-01 86 views
0

我有一個FAQ頁面,上面寫着一個火力地堡節點,並列出了所有使用下面的行代碼將q &一種內容顯示從火力地堡內容:問題與使用谷歌聚合物火力地堡元素

<firebase-auth id="fbLogin" provider="anonymous" location="https://XXX.firebaseio.com"></firebase-auth> 

<firebase-collection orderByPriority log id="fbFAQ" location="https://XXX.firebaseio.com/faq" data="{{faqs}}"></firebase-collection> 

<template is="dom-repeat" items="[[faqs]]" as="faq"> 
    <div class="forBorder"> 
      <akyral-details id="[[faq.__firebaseKey__]]"> 
       <akyral-summary>[[faq.q]]</akyral-summary> 
       <p class="answer">[[faq.a]]</p> 
      </akyral-details> 
    </div> 
</template> 

我有一個鏈接從主頁到常見問題解答頁面,並點擊它完美的作品!但是,當我回到主頁面,然後再次單擊「常見問題」鏈接時,該頁面不會呈現任何內容。但是,如果我刷新頁面,那麼它很好。

要重新做到以下幾點:

  1. 打開https://sizzling-fire-7471.firebaseapp.com/並單擊下方的常見問題解答頁面的鏈接。你將見問答&列表的
  2. 然後點擊左上角的箭頭返回到主界面
  3. 現在再次點擊FAQ鏈接,你將不會看到任何東西,但在控制檯你會看到它獲取數據。另外,刷新頁面使得它沒關係
+0

**注意未來的人:**隨着@zikes我能解決問題的幫助。它與app-router有關。出於某種原因,app-router並未在第二次導入它時使用firebase-element在頁面上標記內容。刪除了應用程序路由器,它解決了所有問題。 –

+0

**給未來第2部分**的人的提示:我嘗試了更多路線,並且得到了相同的結果。我猜測它與app-router無關。附註:more-routing不會延遲加載你的頁面,不值得! –

+0

**未來第3部分**的提示:問題是由於firebase事件在元素dom準備好之前觸發的。所以渲染不會發生。 –

回答

0

我敢打賭,這是一個競爭條件。該firebase-authfirebase-collection被解僱的同時,導致它嘗試它的授權之前獲取的收集。嘗試在<template is="dom-if" if="{{fbUser}}">中包裝firebase-collection,以便在驗證完成之前不會被戳記。

+0

嗨@ zikes ..你的結論是正確的..它是競爭條件。我想你的解決方案,但沒有運氣:(我也嘗試添加該$ fbLogin.login();在準備功能,以確保它得到儘快頁面加載記錄,但沒有運氣:( - ...。 。還有什麼你認爲我能試試嗎? –

+0

我也嘗試過改變,使得AUTH不再需要並刪除了auth元素的規則。我仍然得到了同樣的問題:( –