javascript – Angular $templateCache vs HTML5浏览器缓存
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Angular $templateCache vs HTML5浏览器缓存,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2094字,纯文字阅读大概需要3分钟。
内容图文
我试图围绕缓存的概念.我没有广泛使用它并且有一个关于使用Angular的$templateCache与浏览器Cache的问题:
1)浏览器的缓存和Angular的$templateCache是??否相互竞争? IE一般来说他们存储的是同一类型的东西吗?
鉴于Angular是如何’自以为是’,在开发Angular应用程序时,我会假设你鼓励在浏览器上使用$templateCache,如果它们存储相同类型的东西.如果他们确实存储了相同类型的东西,那么使用它们的优缺点是什么?
2)动态生成的HTML如何适合讨论使用哪个缓存(如果它们存储不同的东西)?
3)一般来说使用缓存是否有任何缺点?
解决方法:
$templateCache与浏览器缓存完全分开.
浏览器缓存:缓存myapp.js和fancy.css等文件,以便您的浏览器不必从服务器获取文件(如果它具有最近缓存的副本)
$templateCache:angularjs存储和跟踪html片段的方式,这些片段在第一次加载后用于不同的角度组件/模块(尽管你可以选择直接加载$templateCache).每次重新加载应用程序时都会重建$templateCache,它在浏览器中不会持久存在.
angular之所以这样做是因为您可能会为多个模板重复使用相同的html文件(或者它可能会在您的网站上多次出现,例如使用指令时).这允许angular知道它已经具有该片段并且可以从缓存加载它.
几个问题的答案
How do these two caches interact with HTTP requests?
您无法缓存$.ajax或$http请求,但这只会影响获取静态内容,如javascript文件,css文件和图像.浏览器缓存的优势在于它可以改善用户体验/性能.如果他们昨天只在您的网站上,他们不必等待下拉所有相关的静态内容.
angularjs $templateCache根本不与http交互.虽然资源可能来自http提取,但您的浏览器可能会缓存该文件. Angular正在选择组织和跟踪html的那些片段.
为了更好地举例说明这个片段:
angular.module('directivesModule').directive('mySharedScope', function () {
return {
template: 'Name: {{customer.name}}<br /> Street: {{customer.street}}'
};
});
即使html在指令定义中是内联的,上面模块中的模板仍然会将’html添加到angular $templateCache中.
What are the drawbacks of using caches in general (either for caching files or response from HTTP requests)
在静态内容的更新版本中,您必须要小心.您可以通过各种类型的缓存清除来解决这个问题.
例:
你更新你的myapp.js,现在它是1.2用户浏览器现在不会这样,他们会加载旧版本的网站.
要解决此问题,您可以更改名称.这将强制用户浏览器获取最新的文件.
恩. myapp_1.1.js到myapp_1.2.js
angularjs $templateCache再次受此影响,因为它不是持久的.
内容总结
以上是互联网集市为您收集整理的javascript – Angular $templateCache vs HTML5浏览器缓存全部内容,希望文章能够帮你解决javascript – Angular $templateCache vs HTML5浏览器缓存所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。