vue 相同路由地址但参数不同页面不刷新、监听路由

1、问题描述

同一个路由地址,但是传参不同时,如新增或修改时传参id是不同的,新增时不需要传id,修改时传id,并且修改的id都可能会不同,这个时候切换页面,发现页面的数据没有刷新,也没有清空。

2、解决办法

监听路由变化,当前路由和前一个路由做比较,参数不同时重新赋值或者请求数据,来达到页面刷新

watch: {
    
    
  // 监听路由是否变化
  '$route' (to, from) {
    
     
    console.log('to', to, 'from', from);
    if(to.query.id!= from.query.id){
    
    
      this.id= !to.query.id? '' : to.query.id // 重新赋值,页面会发生变化
      // 需要重新请求接口时,可以在此处调用接口方法
    }
  }
},

这样就可以成功解决了

猜你喜欢

转载自blog.csdn.net/DarlingYL/article/details/128826718