当前位置:网站首页>跳转页面实时调用后台接口,更新页面数据
跳转页面实时调用后台接口,更新页面数据
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方法
边栏推荐
猜你喜欢
随机推荐
phpexcel导出数据为xml
Programming hodgepodge (4)
Unity表格配置编辑工具
npm init [email protected] 构建项目报错SyntaxError: Unexpected token ‘.‘解决办法
7.18 Day23----标记语言
The cost of automated testing is high and the effect is poor, so what is the significance of automated testing?
OpenSSF 安全计划:SBOM 将驱动软件供应链安全
webrtc中的引用计框架
Camera2 闪光灯梳理
程序员的财富观
MySQL date functions
如何将 DevSecOps 引入企业?
Embedded system driver primary [3] - _IO model in character device driver foundation
7、特殊SQL的执行
Several ways to heavy
Redis common interview questions
基于C语言的学生信息管理系统_(更新版)_(附源码和安装包)_课程设计_**往事随風**的博客
4.3 基于注解的声明式事务和基于XML的声明式事务
DP4398:国产兼容替代CS4398立体声24位/192kHz音频解码芯片
4.1 声明式事务之JdbcTemplate









