如何强制Angular不缓存页面?

时间:2015-09-29 02:15:26

标签: javascript angularjs angular-ui-router

一位老同事告诉我,有一种方法可以强制Angular控制器不缓存,因此每次都会得到最新的数据。我google了,我找不到命令..有没有办法强制使用Angular进行缓存?我也使用Angular UI-Router。

编辑:

我的问题描述是这样的。我将在我的网页的某个页面上。然后我点击一个按下我的后端的按钮,如果cookie已经过期,它将重定向到登录页面。一旦我登录并返回到我原来的页面,它似乎缓存登录页面,它将显示登录页面而不是我所在的原始页面。

解决这个问题的唯一方法是让我用F5进行硬刷。这就是为什么我试图找到一种强制Angular不缓存的方法。

1 个答案:

答案 0 :(得分:2)

您可以在引发事件$viewContentLoaded后清除缓存:

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

$templateCache是第一次调用模板时缓存的服务。

详细了解$viewContentLoaded