发现一个问题,使用$router.push传参数,页面打开之后第二次进入值不会传递,所以需要使用深度监听路由的参数值,但是在回到原页面之后会报错,所以记录一下解决方式

方法携带参数传值

  this.$router.push({path: '/dzwl/manage', query: {row: row}});

使用watch进行监听

  watch: {
    '$route.query': {
      handler(oldVal, newVal) { //监听路由是否变化
        if (JSON.stringify(oldVal) != "{}") { // 判断这个参数是否为空对象,这里需要判断对象类型,所以不能用==
          this.queryParams.deviceId = oldVal.row.id;
          this.getList();
        }
      },
      deep: true,
      immediate: true
    }
  },

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐