当前位置:网站首页>跳转页面实时调用后台接口,更新页面数据
跳转页面实时调用后台接口,更新页面数据
2022-08-04 05:26:00 【愿为浪漫渡此劫】
背景:前端页面跳转,由于created和mounted钩子只在组件初次渲染加载一次,所以在页面跳转的时候,不能实时请求后端API接口,刷新页面数据
可能踩的bug
也许你可以根据监听路由变化,每当页面跳转,就可以监听到路由变化,从而请求接口。不过这样会有以下两种缺陷:
- 路由检测handler(),被触发两次或者两次以上,原因是:1、keep-alive会将Vue实例始终保持在内存中,因此该Vue实例始终存续,相应的watchers始终生效;2、原理是监听模式 下的新旧数据改变 他是2个条件语句 所以会执行2次
- 用户刷新页面,不会触发路由监听,从而不能调用接口
最终解决
核心:activated钩子 和 deactivated
activated () {
this.activatedFlag = true;
if (this.$route.fullPath === "/studyProduct" && this.activatedFlag) {
this.listPageApi(this.listParams);
}
},
deactivated () {
this.activatedFlag = false;
// 清空保存listPageApi接口返回数据的容器
this.saveProductData = [];
},
优点:
- 跳转页面会进入到activated ,跳出当前页面会改变标记activatedFlag
- 用户手动刷新浏览器,也会进入到activated
注意:
此时,watch和created或者mounted里,不要出现activated钩子调用的listPageApi方法
边栏推荐
- 嵌入式系统驱动初级【4】——字符设备驱动基础下_并发控制
- 处理List<Map<String, String>>类型
- Embedded system driver primary [3] - _IO model in character device driver foundation
- 12. Paging plugin
- Several ways to heavy
- MySql数据恢复方法个人总结
- OpenRefine开源数据清洗软件的GREL语言
- sql server如何得到本条记录与上一条记录的差异,即变动值
- webrtc中的任务队列TaskQueue
- Sublime Text 3 2021.8.3 个人配置
猜你喜欢
随机推荐
【问题解决】同一机器上Flask部署TensorRT报错记录
8.03 Day34---BaseMapper查询语句用法
败给“MySQL”的第60天,我重振旗鼓,四面拿下蚂蚁金服offer
Redis common interview questions
7.13 Day20----MYSQL
解决JDBC在web工程中无法获取配置文件
JS基础--强制类型转换(易错点,自用)
7.18 Day23----标记语言
Unity开发类似Profile那样的数据分析工具
自动化测试的成本高效果差,那么自动化测试的意义在哪呢?
webtrc 中VideoAdapter类中的作用及局限
DP4398:国产兼容替代CS4398立体声24位/192kHz音频解码芯片
webrtc中的任务队列TaskQueue
入坑软件测试的经验与建议
npm init [email protected] 构建项目报错SyntaxError: Unexpected token ‘.‘解决办法
webrtc中的引用计框架
webrtc中视频采集实现分析(二) 视频帧的分发
SLSA 框架与软件供应链安全防护
音视频相关基础知识与FFmpeg介绍
CentOS7 - yum install mysql