页面跳转,参数更改,页面不更新

670 阅读1分钟

问题描述: A页面跳转到B页面,url携带参数.B页面用的my-list组件(接口写在组件的url,无法手动重新发请求).此时第二次从A跳转B页面时,参数已经变化,跳到的B页面地址栏也已经显示是新的参数,但是页面数据仍是上一次的.

过程:

  1. this.router.push({path,query:this.router.query}) 会报错:定向地址重复; 2.监听路由变化,当to=B且from=A时,reload() .可以解决但页面会闪 3.this.$router.go(0), 无效 4.每次进入B页面 Actived或者created(), 无效

原因: 无论是在各个生命周期或者监听下,路由和参数的新旧值都可以取到,可是my-list组件始终无法重新发请求.

解决: 单组件销毁,在页面销毁前后周期或者deactivated()内销毁my-list组件this.$destory('MyList')