重复跳转页面上面的路由会改变但是不会刷新页面,不会重新执行生命周期
使用watch监听路由改变重新请求数据
watch: {
//监听到路由(参数)改变
// new 跳转过来的路由
// old 跳转之前的路由
'$route'(new, old) {
// 获取跳转过来的路由的参数 new.query.id 去请求接口
console.log(new.query.id)
// 给搜索的id赋值 跳转过来获取到对应的数据
this.id = new.query.id || ""
this.orderlist()
}
},
还可以利用重复跳转不会刷新页面的特点,不让别人看到传输的参数,还有一定的美观性
在请求数据之后重新跳转当前页面不带参数,需要判断如果没有获取到参数就不请求
watch: {
//监听到路由(参数)改变
// new 跳转过来的路由
// old 跳转之前的路由
'$route'(new, old) {
// 获取跳转过来的路由的参数 new.query.id 去请求接口
console.log(new.query.id)
// 给搜索的id赋值 跳转过来获取到对应的数据
this.id = new.query.id || ""
if(new.query.id){
this.orderlist()
this.$router.push('/imdex') // 跳转到当前路由,不带参数
}
}
},