4

$ cacheFactoryを使用してアプリケーションにキャッシュを追加しましたが、ユーザーがブラウザーを閉じてから再度開くと、参照された製品に関するキャッシュデータの有効期限が切れます。

それを長くする方法はありますか?賞味期限などを入れますか?

ありがとう。

編集:Breeze.jsを使用する必要があるかもしれませんが、その前に、angularjsでそれを実行できるかどうかを知っている人がいるかどうかを知りたいと思いました(APIを読みましたが、それに関する情報はありません:S)。

編集2:助けるために、私が$ cacheFactoryを使用する方法は、このJSFiddleコードのようなものです。

factory('SomeCache', function($cacheFactory) {
    return $cacheFactory('someCache', {
        capacity: 3 // optional - turns the cache into LRU cache
    });
}).

編集3: Lawnchairはオプションではなく、javascript配列に格納され、ブラウザーを閉じた後もデータを保持しません。

4

1 に答える 1

7

$ cacheFactoryはメモリ内のブラウザストレージを使用します。つまり、ブラウザを閉じて再度開くことはもちろん、ページを更新しても保持されません。

ページの読み込みとブラウザセッション間でデータをキャッシュする場合は、localStorageを探しています。非常に簡単な例については、こちらをご覧ください。

http://jsbin.com/acokis/2/edit

増幅.jsまたはlawnchair.jsは、localStorageを管理するための優れたラッパーを提供し、localStorageをサポートしないブラウザー用のフォールバックアダプターも提供するため、検討することをお勧めします(ただし、フォールバックオプションはページの更新後も保持されません) 。

于 2013-03-27T13:29:43.200 に答える