web-dev-qa-db-ja.com

AngularJSで$ templateCacheを手動で消去する最良の方法

システム全体で多数のhtmlテンプレートファイルが使用されているシステムで作業しています。

問題は、私が更新を展開するときに、ブラウザーがそれらのキャッシュされたバージョンを使用しているため、ユーザーがhtmlの変更を表示できないことです。これまでのところ、ユーザーにhtmlの更新を表示させる唯一の方法は、ユーザーにブラウザーのハードリロードを実行させることです。

明らかな理由により、これは理想的ではありません。 mreユーザーがこのシステムに移行するにつれ、誰もがそのアクションを実行することを確認するのは面倒な面倒な作業になっています

私のコマンドでシステムにアクセスするブラウザにテンプレートキャッシュをクリアさせる方法はありますか?システムへのログイン時に手動でクリアしたのでしょうか?

9
mrb398

$templateCache.removeAll()はテンプレートキャッシュを削除するのに適しています

コード例

myApp.run(function($rootScope, $templateCache) {
   $rootScope.$on('$viewContentLoaded', function() {
      $templateCache.removeAll();
   });
});
7

angular-cache-busterプラグインを使用できます。また、キャッシュされたテンプレートの読み込みに問題があり、この素晴らしいプラグインを使用することで問題は解決しました。

https://github.com/saintmac/angular-cache-buster

1