vue 组件重用的时候,动态路由的地址参数不会变化?

问题描述

有一个页面是需要重用组件的,左边是商品列表,右边是商品详细信息,当我点击左边的列表时,右边将会显示相应的信息,我使用动态路由做的,现在的问题是点击列表,地址栏的路由参数并不会发生变化,而实际上他已经变化了,,

问题出现的环境背景及自己尝试过哪些方法

在没有加上ajax请求之前,点击左边列表,地址栏的路由参数是会变化的,但是加上了请求之后,左边点击,地址栏参数就不会变化了,控制台不报错,我用路由守卫监听,实质上路由参数已经发生改变,但是没有在地址栏动态的展示出来,路由参数一直是页面初始化的参数。。。

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
路由定义:
`

    {
      path: '/currency',
      component: resolve => require(['@/pages/currency_exchange'], resolve),
      children:[
        {
          path: '/',
          redirect: 'coin_main/00',
          component: resolve => require(['@/pages/currencyExchange/index.vue'],resolve)
        },
        {
          path: 'coin_main/:id',
          component: resolve => require(['@/pages/currencyExchange/index.vue'],resolve)
        }
      ]
    },

`

clipboard.png
这个时候点击列表,动态参数id应该会改变,但是不会变了。
我用的beforeRouterUpdate处理的,业务逻辑能够正常响应:

 beforeRouteUpdate(to, from, next) {
      this.init(to.params.id);
      this.initTable(to.params.id);
      clearInterval(this.enter);
      clearInterval(this.update);
      clearInterval(this.routerUpdate);
      //定时刷新
      this.routerUpdate = setInterval(()=> {
        this.initTable(to.params.id);
      },5000);
      this.status = this.$store.state.get;
  },

你期待的结果是什么?实际看到的错误信息又是什么?

期待的结果是点击左边的列表,地址栏的路由参数id能够响应变化。控制台不报错。

阅读 2.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进