2017-01-02 3 views
0

app-indexeddb-mirrorコンポーネントを使用して、オフラインデータをindexeddbキャッシュに保存しています。私は次のコードで作業しています。ポリマーでapp-indexeddb-mirrorでカスタムデータを保持する方法

<app-indexeddb-mirror 
    key="travels" 
    data="{{data}}" 
    persisted-data="{{persistedData}}"> 
</app-indexeddb-mirror> 
<firebase-query 
    app-name="projectMeta" 
    path="/travel" 
    data="{{data}}"> 
</firebase-query> 

このコードブロックが正常にデータの配列を取得し、その後、私のIndexedDBでtravelキーの下に格納します。

私はオフラインで、私はbtoというキーでindexeddbに保存されたフォームに記入したいとします。データを保持するためにコンポーネントを取得するにはどうすればよいですか?

私は次のことを試してみました:私のデータオブジェクトを書き込むための

<app-indexeddb-mirror 
    id="readCache" 
    key="testKey" 
    data="{{liveData}}" 
    persisted-data="{{persistedData}}" 
    log="true"> 
</app-indexeddb-mirror> 

初の試み:コンソール私に

this.set("liveData", newval.data); 

:私のデータオブジェクトを書き込むための

this.$.readCache.setStoredValue(key, data).then(function(res) { 
    console.log("success") 
}); 

第二の試みを取得中: enter image description here

しかし、コンソールのApplicationタブで、indexeddbの下に保存されているすべてのコンテンツを表示すると、まだ空ですか?

答えて

0

私が見た限りでは、このコンポーネントでオフラインデータを実際に「保存」することはできません。変更されるたびにデータのバージョンが更新され、保存されます。オフラインのシナリオでは、永続化されたデータのみが保存されますが、保存されません。

は実際には、できるだけ早くあなたが再びオンラインになるだろうと、すべての変更はfirebase、クエリによって取得した件のデータのオンライン版で消去されます

オフラインの変更を保存したい場合は、よ幸いにもfirebase-documentにはオフライン機能があるので、データを保存するだけで正常に動作するはずです。

少なくとも私はペットプロジェクトで何をしていますか、それはうまくいくようです。

コード:

関連する問題