vue2.0 query传参在手机端无法使用$router.back()返回

vue2.X中,home组件通过query传参跳转到list组件,在list组件中无法通过this.$router.back()返回上一页,目前问题出现在了手机端(就像是先走了一个没带参数的组件 然后又跳转到了带参数的该组件中),在PC上是正常的

// home.vue点击跳转
this.$router.push({
  path: '/list',
  query: {
     id: 123
   }
})
// list.vue中返回
<template>
  <div>
    <mt-header class="title" fixed title="列表">
      <router-link to="" slot="left">
          <mt-button icon="back" @click="exit()"></mt-button>
        </router-link>
    </mt-header>
  </div>
</template>
<script>
export default {
  methods: {
    exit () {
      this.$router.back()
    }
  }
}
</script>
// router.js 路由
[
 {
    path: '/home',
    name: 'home',
    meta: {
      isTabPage: true
    },
    component: resolve => {
      require(['@/page/tabbar/home.vue'], resolve)
    }
  },
  {
    path: '/list',
    name: 'list',
    component: resolve => {
      require(['@/page/home/list.vue'], resolve)
    }
  }
]

目前在list.vue中返回的时候,通过监听路由发现to.name是list,导致无法正常返回到home组件中,有遇到同样问题的,请指教下。

阅读 3.9k
1 个回答

使用的mint-ui组件

<mt-header class="title" fixed title="首页">
  <router-link to="" slot="left">
    <mt-button icon="back" @click="back"></mt-button>
  </router-link>
</mt-header>

弄了半天发现是左边按钮的slot使用的router-link标签引起的,改为div解决了,有遇到相同问题的可以注意下

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