問題タブ [cachefactory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
139 参照

angularjs - angular CacheFactory は値を設定しません

CacheFactory モジュールに問題があります。問題は、何も設定されていないことです。

これが私のコードです。論理的には、コードが初めて実行されたとき、2回目にページを更新したときに値が表示されるはずですが、値は表示されず、常に「未定義」です

それは常に印刷されます

キャッシュ値: 未定義

なぜ何も設定しないのですか?

0 投票する
1 に答える
1465 参照

javascript - config ブロックで $httpProvider.defaults.cache を設定します

$httpProvider.defaults.cacheアプリケーションの構成ブロックで設定するにはどうすればよいですか? 私が試したときはいつでも、「ReferenceError: $cacheFactory is not defined」というエラーを受け取りました。

だから今、私はこれを行うための代替方法を見つけようとしています.

したがって、これを達成するための回避策を教えてください。

0 投票する
1 に答える
472 参照

angularjs - コントローラーから $cacheFactory を更新する

コントローラーから $resource $cacheFactory に値を追加し、このデータを複数のコントローラー間で同期させることは可能ですか? 基本的に私が達成しようとしていることは次のとおりです。

1) API から JSON リソースをプルする

2) JSON を $resource ではなく、コントローラー間で使用できる単純な JSON オブジェクトであるかのように操作します。

これを行う「角度のある方法」はありますか、それともローカルストレージを使用して場所リスト全体をキャッシュし、そこから他のすべてを読み書きする必要がありますか?

0 投票する
1 に答える
478 参照

angularjs - $resource で $CacheFactory キャッシュのカスタム キー値を提供する

AngularJS のドキュメントによると、$resource サービスはキャッシングもサポートするようになりました。

cache – {boolean|Cache} – true の場合、GET リクエストをキャッシュするためにデフォルトの $http キャッシュが使用されます。それ以外の場合、$cacheFactory で構築されたキャッシュ インスタンスの場合、このキャッシュがキャッシュに使用されます。

したがって、$resource は次のように記述できます。

私が知りたいのは、次のことです。

  1. キャッシュ内のキーの名前は何になりますか? $http キャッシュの場合、key は service/api のパスですが、カスタム キャッシュを使用する場合も同じになりますか?
  2. カスタム キャッシュ (ここでは myCache) に独自にキー名を指定する方法はありますか

AngularJS のドキュメントと他のスタック オーバーフロー スレッドを試しましたが、これに対する答えが見つかりませんでした。助けてください。

0 投票する
0 に答える
244 参照

angularjs - $resource、$cacheFactory を使用したデータ ストアと errorHandlingDirective

AngularJS を学習し、REST サーバー用のデータ ストアを使用して SPA を作成しようとしています。トラフィックをできるだけ減らすために、可能な限りデータをキャッシュしたいと考えています。サーバーからのエラー応答の場合、すべてのコールバックに対して 1 つの共通ディレクティブで処理したいと考えています。これにより、共通の方法で複数のコントローラーにまたがるディレクティブを使用できるようになります。

この投稿は、$emit および/または $broadcast がディレクティブが $on を待っているというイベントを発生させないことを除いて、すべて機能します。機能していた場合、ディレクティブのテンプレートにはエラーの説明が含まれ、isError が true になると HTML ページに表示されます。少なくともそれが私の現在の考えです...

プランカー

私のサンプル HTML ファイル:

私のサンプルコントローラー:

私のサンプルデータストア:

私のサンプルディレクティブ:

ここに私の「sampleData.json」ファイルがあります。

何かご意見は?

0 投票する
1 に答える
299 参照

angularjs - cacheFactory はどこにデータを保存しますか? キャッシュされたデータを確認するにはどうすればよいですか?

開発者向けオプションを使用してブラウザーのリソースを調べようとしましたが、データがキャッシュされている場所を見つけることができませんでした。キャッシュ オブジェクトが作成される場所 (物理的な場所) は? 助けてください。