vue 同一个页面第二次跳转路由内容不更新

问题出现原因

在vue中相同路由之间跳转,默认在跳转路由时会采用缓存策略,并不会刷新当前路由组件。导致mounted(初始化),beforeDestory(销毁)等生命周期钩子函数并不会触发,从而产生路由跳转了,但是视图数据没有变化,数据不主动更新

解决方案
  • 使用 watch 监听路由变化,当路由发生改变时,手动更新数据(设置方法,重新获取对应的数据)
  • 使用App.vue 中为 router-view入口添加参数 :key="$route.fullPath" (vue2,vue3都支持该属性)
  • mounted里面执行的办法在 activated 里面在执行一遍,activated是路由的两个生命周期之一,解释如下图:
  • activated 路由组件被激活时触发
  • deactivated 路由组件失活时触发
相关推荐
正小安3 分钟前
前端框架对比及选择:React、Vue、Angular的深度剖析
vue.js·react.js·前端框架
打野赵怀真10 分钟前
要实现一个js的持续动画,你有什么比较好的方法?
前端·javascript
qbbmnnnnnn10 分钟前
【前端开发入门】html快速入门
前端·html·标签·文档流
不吃香菜的猪21 分钟前
vue自定义div弹窗打开失败
前端·javascript·vue.js
iQM7529 分钟前
X-Spreadsheet:Web端Excel电子表格工具库
前端·excel
木子七1 小时前
Js运算符(操作符)
前端·javascript
一直在学习的小白~1 小时前
React和Vue对比
前端·vue.js·react.js
KawYang1 小时前
docker 部署 Seatunnel 和 Seatunnel Web
前端·docker·容器
@阿猫阿狗~1 小时前
金三银四:20道前端手写面试题
前端·面试·职场和发展
汪子熙1 小时前
什么是 Angular 开发中的 Dumb components
前端·javascript·angular.js