当我在代码中的任何模板(html)中进行更改并从浏览器刷新时,应用程序中不会发生更改。
当我在任何模板中进行更改时,我想绕过模板缓存,即当我在模板中进行任何更改并从浏览器刷新时,我希望代码应该更新代码而不是来自$templateCache
。
我怎么能以编程方式知道模板有任何变化?
我也从Stackoverflow参考中尝试过这段代码。
app.run(function($rootScope, $templateCache) {
$rootScope.$on('$viewContentLoaded', function($event) {
console.log($event);
alert("abc");
//$templateCache.removeAll();
$templateCache("templates").removeAll();
});
});
答案 0 :(得分:1)
我认为这是因为您积极处理网页并希望立即查看更改,而不是您实际需要进行生产的内容? 如果是这样,那么您可以在浏览器中关闭缓存。在Chrome中,您可以通过转到开发人员工具来完成此操作 - >设置 - >常规并勾选'禁用缓存(当DevTools打开时)
答案 1 :(得分:0)
无论您的逻辑如何,浏览器都可以进行一些缓存。
如果您不希望缓存请求,请尝试发送标头:Cache-Control: no-cache
(第14.9节)。
无缓存:
如果no-cache指令没有指定字段名,那么缓存绝不能使用响应来满足后续请求 没有使用原始服务器成功重新验证。这允许一个 原始服务器,以防止缓存,即使是已经存在的缓存 配置为返回对客户端请求的陈旧响应。
对于开发,您还可以在浏览器中禁用缓存,或使用ctrl+f5
/ ctrl+shift+R
或浏览器/操作系统的组合键,这将强制重新加载绕过缓存的页面。