有没有办法在 angular 7 应用程序中以编程方式清除缓存?

高拉夫古普塔

我有一个延迟加载图像的组件。第一次当我的页面加载然后当时图像使用延迟加载显示但是如果我刷新或重新加载或关闭然后打开选项卡然后我的图像被预加载因为它现在从缓存中获取。有什么办法可以停止以 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有办法在Angular 7中为模板html属性* key *使用变量?

有没有办法在Angular 7中命名路线?

有没有办法重置Angular中的$ touched?

Angular 7 有没有办法在编译时决定使用哪个服务?

有没有办法从所有多个级别使用Angular多个提供程序?

有没有办法在Angular中动态插入现有组件?

有没有办法在Windows 7中取消sfc / scannow?

有没有办法在Windows 7中使用DirectX 11?

有没有办法在iText7中的文本之前保留空格?

有没有办法只搜索Windows 7中的特定驱动器?

Laravel 7中有没有办法访问遥远的关系?

有没有办法在 Angular 动画过渡期间应用恒定的 CSS 样式?

有没有办法在Angular4中链接@Injectable()

有没有办法在 angular 2 dart 中延迟加载组件?

有没有办法跳过Angular中的单元测试套件?

有没有办法覆盖 Angular Material 表中可扩展行的间距?

有没有办法在 Angular 2 中隐藏组件?

有没有办法在Angular2中进行“输入转换”(与管道相反)?

有没有办法从Angular 2+中删除未使用的导入和声明?

有没有办法扩展angular.json中的配置?

Angular:有没有办法在模板中显示原始(原始/未编译)代码

有没有办法在angular js的ng-repeat中声明和增加变量

Angular:有没有办法在订阅中简化这个订阅?

有没有办法从Angular 2的组件中检查@Output接线?

有没有办法在Angular2中将ngForm用于div元素

有没有办法等待Angular中的DOM更新?

有没有办法将回调函数附加到Angular路由模块中的路由?

有没有办法在Material-Angular标签中显示不同的表格?

有没有办法在Angular中的子路由之前渲染父组件?