在使用vue-router实现tabbar的时候,遇到历史记录异常的情况

演示视频

问题描述:
跳转步骤:tab/home -> tab/mine -> tab/home -> user/login(这一步执行后退,会回到tab/mine)


以下是部分源码,linker组件跳转使用的是vue-router的默认方式

<!-- App -->
    <div id="app">
      <div class="pages">
        <transition 
          :name="transitionName"
          >
          <navigation>
            <router-view/>
          </navigation>
        </transition>
      </div>
    </div>
<!-- tab -->
<page :title="pageTitle">

    <router-view class="tabbar-container"></router-view>
    <tabbar>
        <tabbar-item url="/tab/home">home</tabbar-item>
        <tabbar-item url="/tab/mine">mine</tabbar-item>
    </tabbar>
</page>
<!-- home -->
<div>
    <m-header>header</m-header>
        <container>
            <h1 class="text-center">home</h1>
            <linker url="/user/login">to login</linker>
        </container>
    <m-footer>footer</m-footer>
<div>
<!-- mine -->
<div>
    <m-header>header</m-header>
        <container>
            <h1 class="text-center">mine</h1>
            <p v-for="item in 50">{{item}}</p>
        </container>
    <m-footer>footer</m-footer>
<div>
//router
{
        path: '/tab',
        meta: {
            title: ''
        },
        component: () => import('@page/tab/index.vue'),
        children: [
            {
                path: 'home',
                meta: {
                    title: 'home',
                    no_transition: true
                },
                component: ()=> import('@page/tab/home.vue')
            },
            {
                path: 'mine',
                meta: {
                    title: 'mine',
                    no_transition: true
                },
                component: ()=> import('@page/tab/mine.vue')
            }
        ]
    },
阅读 2.1k
1 个回答

vue-navigation需要route配置name属性

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