在AngularJS中手动清除$ templateCache的最佳方法

时间:2015-07-21 12:57:50

标签: angularjs caching browser-cache

我正在开发一个系统,该系统在整个系统中都使用了大量的html模板文件。

问题是当我部署更新时,用户无法看到html更改,因为他们的浏览器正在使用它们的缓存版本。到目前为止,我能够让用户看到HTML更新的唯一方法是让他们对浏览器进行重新加载。

由于显而易见的原因,这并不理想。当用户迁移到这个系统时,它已成为一项繁琐的工作,确保每个人都执行该操作

有没有办法可以强制浏览器访问系统来清除模板缓存?也许在登录系统后手动清除它?

2 个答案:

答案 0 :(得分:7)

$templateCache.removeAll()最好删除模板缓存

示例代码

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

答案 1 :(得分:1)

您可以使用 angular-cache-buster 插件。我也遇到了加载缓存模板的问题,使用这个很棒的插件解决了这个问题。

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