有人可以向我解释以下代码:
$http.get('./template.html', {
cache: $templateCache
}).then (function(response){
console.log(response.data);
});
我理解response.data
将等于template.html的整个内容,但是对象呢
{cache: $templateCache}
它做了什么?
答案 0 :(得分:2)
以下是$http服务文档中的一行:
缓存 -
ViewBag
- 使用$cacheFactory
创建的布尔值或对象,用于启用或禁用HTTP响应的缓存。有关详细信息,请参阅$http Caching。
因此,通过指定{boolean|Object}
,您可以告诉Angular在内部缓存数据映射中缓存HTTP响应,可以作为$templateCache服务访问。这意味着如果您使用{cache: $templateCache}
再次请求./template.html
或在$http.get
指令中使用模板作为源,则不会重新加载,而是从缓存中检索。
答案 1 :(得分:2)
第一次使用模板时,它会加载到模板缓存中 用于快速检索。您可以将模板直接加载到缓存中
script
代码,或直接使用$templateCache
服务。
这意味着响应将存储在缓存中。就perf而言,有趣的是刷新页面时不会再次加载模板。