【发布时间】:2014-10-11 10:35:05
【问题描述】:
在分析大型 AngularJS 应用程序时,我开始跟踪 $templateCache。
https://docs.angularjs.org/api/ng/service/$templateCache
这个对象是什么?它是否存储部分存储在磁盘上或路由中最终呈现的 HTML?
我已经在我的控制器中添加了一些这样的代码,以确保它不会持久化任何东西:
$scope.$on('$destroy', function cleanup() {
$templateCache.removeAll();
});
编辑:我正在研究这个的原因是一个(不是每个)控制器正在加载一个很大的部分,其中有几个循环,这取决于用户输入,它可能是大约 100 个输入具有大型 <select> 语句和许多自定义指令的字段。客户要求采用这种方式,我想确保所有这些都在路由期间得到处理。
为了澄清这个问题:$templateCache 只存储出现在磁盘上的部分,没有存储路由或渲染信息?
【问题讨论】:
-
“出现在磁盘上”是什么意思?如果您的意思是“文件中的原样”,那么-是的。它不保存编译模板,它只保存从 XHR 请求返回的内容。
-
是的,“在文件中”。我认为这回答了我的问题。我相信渲染后的表单会以某种方式缓存在其他地方。
标签: javascript angularjs templates caching partials