vue.js页面跳转怎么不刷新数据?下面本篇文章给大家浅谈一下vue路由跳转页面不刷新数据问题。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
vue路由跳转页面不刷新数据
前言:
vue-router的切换不同于传统的页面的切换。路由之间的切换,其实就是组件之间的切换,不是真正的页面切换。这也会导致一个问题,就是引用相同组件的时候,由于参数不一样不会覆盖原打开的页面而会打开一个重复的页面,只是页面的数据不一样,再点开旧的页面时(B.1)发现数据还是新页面(B.2)的数据,点开旧页面(B.1)时不会调用created(),mounted()函数,会导致获取数据的函数无法调用从而该组件无法更新。
A 页面中跳转的方法this.$router.push({
path: "/processInfo_management",
query: { process_code: process_code }
});
解决办法:
在watch中监听路由变化,其中$route.query.process_code,process_code代表页面间传递的参数,fetchData代表调用的方法
B页面中数据刷新的方法watch: {
"$route.query.process_code": "fetchData"
},
methods: {
fetchData() {
// 解决路由切换,页面不更新的实用方法
if (this.$route.path == "/processInfo_management") {
// 请求数据的方法
}
},
}
更多web前端开发知识,请查阅 HTML中文网 !!