Vue刷新/重载当前路由获取数据

  1. Vue如何刷新或重载当前路由来更新数据?
  2. Vue如何监听同一路由加载事件?

方案:可以利用路由的quey参数,使用watch进行检测router的变化实现监听。下面是一个实践示例

vue刷新数据当然简单,直接调用合数据的方法就行。
但是,往往业务需求的不同,实现流程或思路也会不同。下面有一个业务需求场景

  • 头部下拉列出仓库,
  • 切换仓库,左侧的菜单不变,都是一样的,
  • 切换仓库时都会定位到【通知】界面上。通知界面的路由是: /notice
  • 切换后,通知要加载对应的仓库数据
    在这里插入图片描述

方案1:利用路由的quey参数,使用watch进行检测router的变化实现监听
切换仓库时,对路由进行传参

watch: {
  // 利用watch方法检测路由变化:
  '$route': function (to, from) {
    // 可以拿到目标参数 to.query.id 去再次请求数据接口
     if(to.query.id){
     	// 加载表格数据
     	this.getList(to.query.id);
     }
  }
 },

方案2:使用store方案
使用computed计算,切换仓库时commit store,通知列表界面获取store的流数据,进行请求。

Logo

前往低代码交流专区

更多推荐