一位老同事告诉我,有一种方法可以强制Angular控制器不缓存,因此每次都会得到最新的数据。我google了,我找不到命令..有没有办法强制使用Angular进行缓存?我也使用Angular UI-Router。
编辑:
我的问题描述是这样的。我将在我的网页的某个页面上。然后我点击一个按下我的后端的按钮,如果cookie已经过期,它将重定向到登录页面。一旦我登录并返回到我原来的页面,它似乎缓存登录页面,它将显示登录页面而不是我所在的原始页面。
解决这个问题的唯一方法是让我用F5进行硬刷。这就是为什么我试图找到一种强制Angular不缓存的方法。
答案 0 :(得分:2)
您可以在引发事件$viewContentLoaded
后清除缓存:
myApp.run(function($rootScope, $templateCache) {
$rootScope.$on('$viewContentLoaded', function() {
$templateCache.removeAll();
});
});
$templateCache是第一次调用模板时缓存的服务。