我有一个延迟加载图像的组件。第一次当我的页面加载然后当时图像使用延迟加载显示但是如果我刷新或重新加载或关闭然后打开选项卡然后我的图像被预加载因为它现在从缓存中获取。有什么办法可以停止以 angular 7 缓存我的组件?
缓存不是由 Angular 完成的,而是由您的浏览器完成的。加载图像后(取决于响应的标头),您的浏览器将缓存它,以便下次能够更快地加载它。这通常是一个很好的方法。
不知道为什么你不希望它们被缓存,但你有不同的选择。在这里,您对 HTTP 缓存有很好的了解:https : //developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching静态资产的缓存配置通常由您的网络服务器完成,它们取决于您使用的网络服务器(nginx、Apache、IIS、节点等)。
另一种选择是将随机查询字符串附加到您的图像 URL。这个 HTTP 缓存系统通过使用图像 URL 作为资源键来识别它。由于这个原因,您可以执行以下操作:
<img src="./yourimagefolder/yourimage.jpg?r=putherearandomstring">
这样,您的图像资源“Id”在每个请求中都会不同。(您需要在每次加载页面时使用不同的随机字符串更改示例中的 'putherearandomstring' 字符串。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句