当前位置:网站首页>跳转页面实时调用后台接口,更新页面数据
跳转页面实时调用后台接口,更新页面数据
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方法
边栏推荐
- 想好了吗?
- Summary of MySQL database interview questions (2022 latest version)
- 8、自定义映射resultMap
- 4.3 Annotation-based declarative transactions and XML-based declarative transactions
- PHP解决字符乱码问题(多种编码转换)
- webtrc 中VideoAdapter类中的作用及局限
- 如何将 DevSecOps 引入企业?
- MySQL数据库面试题总结(2022最新版)
- Resolved error: npm WARN config global `--global`, `--local` are deprecated
- CentOS7 - yum install mysql
猜你喜欢
随机推荐
12. Paging plugin
MySQL数据库(基础)
Resolved error: npm WARN config global `--global`, `--local` are deprecated
Redis common interview questions
Deploy LVS-DR cluster [experimental]
乱码解决方案
Teenage Achievement Hackers Need These Skills
程序员的财富观
The string class introduction
读者让我总结一波 redis 面试题,现在肝出来了
Swoole学习(一)
即时通讯网 即时通讯音视频开发
npm安装依赖报错npm ERR! code ENOTFOUNDnpm ERR! syscall getaddrinfonpm ERR! errno ENOTFOUND
Code Refactoring: For Unit Testing
想低成本保障软件安全?5大安全任务值得考虑
lambda函数用法总结
【论文阅读笔记】无监督行人重识别中的采样策略
Embedded system driver primary [3] - _IO model in character device driver foundation
动态规划总括
TensorRTx-YOLOv5工程解读(一)




![Embedded system driver primary [3] - _IO model in character device driver foundation](/img/c7/21fc0651964a6a435e8ec5743b7662.png)



