2

我構建了一個包含多個選項卡的簡單頁面。每個標籤都會加載Firebase中的文章供稿(收集/列表)並在頁面上呈現卡片。一切正常,直到我試圖堅持訪問的飼料indexeddbapp-indexeddb-mirror使用Polymerfire的app-indexeddb-mirror

這裏就是我所做的:

<dom-module id="my-view1"> 
<template> 
    <style include="shared-styles"> 
    </style> 

    <paper-tabs id="tabs" 
       attr-for-selected="value" 
       selected="{{selectedFeed}}" 
       scrollable> 
     <template is="dom-repeat" 
        items="[[feeds]]" 
        as="feed"> 
      <paper-tab value="[[feed.key]]">[[feed.name]]</paper-tab> 
     </template> 
    </paper-tabs> 

    <firebase-query id="[[selectedFeed]]_feed" 
        app-name="myfirebaseapp" 
        path="/myfirebaseappdb/feed/[[selectedFeed]]" 
        data="{{articles}}"> 
    </firebase-query> 

    <app-indexeddb-mirror 
      key="[[selectedFeed]]" 
      data="[[articles]]" 
      persisted-data="{{persistedArticles}}"> 
    </app-indexeddb-mirror> 

    <template is="dom-repeat" 
       items="[[persistedArticles]]" 
       as="article"> 
      <paper-card image="[[article.image]]" alt="image"> 
       <div class="card-content"> 
        <h1 class="card-text">[[article.title]]</h1> 
        <h4 class="card-text">[[article.abstract]]</h4> 
       </div> 
      </paper-card> 
    </template> 

</template> 

<script> 
    Polymer({ 
     is: 'my-view1', 
     ready: function() { 
      this.feeds = [ 
       {name: "Feed1", key: "feed1"}, 
       {name: "Feed2", key: "feed2"}, 
       {name: "Feed3", key: "feed3"}, 
       {name: "Feed4", key: "feed4"} 
      ]; 
     } 
    }); 
</script> 

我想要做的是緩存中的每個進到indexeddb作爲一款入門(飼料名作爲關鍵字和數據值),使他們能夠當應用程序離線時加載。這基本上就是app-indexeddb-mirror,對吧?

但是,我不能在firebase-queryapp-indexeddb-mirror之間的數據流頭,我不斷得到indexeddb條目覆蓋/切換標籤時切換。

有什麼我不是在做對嗎?謝謝。

+0

當來自firebase-query的數據發生變化時,app-indexeddb-mirror會緩存數據。這意味着當切換標籤頁時,數據將會改變,因爲firebase-query中的'path'發生了變化,這將導致'app-indexeddb-mirror'元素重新緩存數據。 –

+0

我吸引了一些觀察員打印日誌,它確實看起來像你說的@BenThomas。我仍然無法弄清楚如何以正確的方式做到這一點?你能否介紹一下這方面的情況?謝謝。 – Xiang

+0

一旦selectedFeed改變了,是不是也會立即更改app-indexeddb-mirror的鍵值(數據綁定是同步的)?在這種情況下,具有前一個鍵的緩存不應該被清除/清空嗎? – Xiang

回答

0

我通過交換firebase-query和app-indexeddb-mirror解決了這個問題。 我從來不知道聚合物中的序列問題,這個順序也是非常直觀的。

+0

沒有幫助我。 –

+0

你是什麼意思?像indexedDB應該高於firebase-query?我有問題看到鉻開發工具中的數據。你看到你的數據嗎?這似乎沒有什麼 – TheeBen