这篇文章主要讲解了“如何解决Vue路由this.route.push跳转页面不刷新的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决Vue路由this.route.push跳转页面不刷新的问题”吧!
Vue路由this.route.push跳转页面不刷新
一、背景
介绍:在vue项目开发中,使用路由进行页面跳转时,路由所跳转的页面不进行刷新。
也就是vue生命周期函数没有执行(created、mounted钩子函数)。
案例:
A页面:
B页面:
问题:
当在A页面第一点击按钮到B页面时,一切正常,当返回到A页面再次点击按钮时,B页面没有执行mounted钩子函数,结果导致mounted函数中查询方法不执行。
二、解决方法:
使用activated:{}周期函数代替mounted:{}函数即可。
监听路由
// 不推荐、用户体验不好watch: {'$route' (to, from) { // 路由发生变化页面刷新this.$router.go(0);}},
// 该方法会多一次请求watch: {'$route' (to, from) { // 在mounted函数执行的方法,放到该处this.qBankId = globalVariable.questionBankId;this.qBankName = globalVariable.questionBankTitle;this.searchCharpter();}},
Vue this.$router.push路由跳转,刷新参数消失
this.$router.push({name:"",params:{id:""}})
name和params搭配刷新参数会消失
this.$router.push({path:"",query:{id:""}})
path和query搭配,刷新页面参数不会消失,query中参数成了url中的一部分
感谢各位的阅读,以上就是“如何解决Vue路由this.route.push跳转页面不刷新的问题”的内容了,经过本文的学习后,相信大家对如何解决Vue路由this.route.push跳转页面不刷新的问题这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!