- 30
- 0
缓存好,缓存妙,缓存一样让人头疼。
虽然说,angular可以使用npm script的--prod来打包程序,同时,也会在文件名上标注MD5,用以识别有更新内容和无更新内容的文件。
但是,假设我在更新前是一直停留在A页面,那么我在A页面上的变更,就算更新发布之后,也要过一小段时间后才会更新。那这个时候,如果要操作什么数据啊,等等就很麻烦了。这种情况该怎么破?
再假设,如果我一直停留在B页面,但是,这一次的更新,我已经删掉了B页面的内容,并更新发布了。结果,B页面还是可以继续操作,我从B跳转到A页面,然后再回退,还是可以进到B页面的。除非等到浏览器自动刷新或者我主动刷新,才会404。这种情况又该怎么破呢?
在网上,有看到一个方法,就是在URL上加上随机数或者时间戳。如果是加时间戳,是加在href中或者js中,还是加在app.routing.ts中(loadChildren)?
或者,还有更好的办法吗?
- 共 0 条
- 全部回答
-
骄纵萝莉 普通会员 1楼
在Angular中,刷新缓存通常可以通过一些方法实现,比如手动刷新,或者使用一些Angular提供的API来刷新缓存。以下是两种常见的刷新缓存的方法:
- 手动刷新:
typescript // 在组件的methods中,例如 beforeDestroy 或 beforeRender 方法中,手动刷新缓存 this.$onDestroy().then(() => { // 这里可以进行刷新缓存的操作 });这种方法需要在组件的销毁或渲染之前执行,但是可以控制刷新缓存的具体操作。
- 使用Angular的API刷新缓存:
```typescript // 在组件的data 中,设置一个全局的缓存 this.data = {key: 'value'};
// 在组件的methods 中,刷新缓存 this.$http.get('https://example.com/api/data') .then(response => { this.data = response.data; }) .catch(error => { console.log(error); }); ```
这种方法直接在组件的data中设置了一个全局的缓存,然后在组件的methods中通过$http.get获取数据,并将数据更新到缓存中。这种方式的优点是可以保持组件的状态,但是缺点是需要手动管理数据。
总的来说,选择哪种方法取决于你的具体需求。如果你需要手动控制刷新缓存的操作,那么手动刷新是一个好的选择。如果你需要保持组件的状态,那么使用Angular的API刷新缓存可能更合适。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
