【问题标题】:How to exclude route from history in vue-router?如何从 vue-router 的历史记录中排除路由?
【发布时间】:2020-06-26 07:43:13
【问题描述】:

我已经使用 vue-router 实现了选项卡。当用户在这些选项卡中来回点击,但又喜欢转到上一页时,他需要多次按“返回”来回放每个选项卡的访问。

是否可以从 vue-router 的历史记录中排除路由,例如:

let router = new VueRouter({
        mode: 'history',
        routes: [
             .
             .
             .
            {
                path: '/tabs/',
                name: 'tabs',
                component: TabPage
                children: [
                            {
                                path: 'tab1',
                                name: 'tab1',
                                component: Tab1Page,
                                excludeFromHistory: true
                            },
                            {
                                path: 'tab2',
                                name: 'tab2',
                                component: Tab2Page
                                excludeFromHistory: true
                            },

                ]
            }
       ]
   });

【问题讨论】:

  • 你想拥有/tabs/#tab1/tabs/#tab2 之类的东西,我想:我不这么认为,但你仍然可以让子组件具有 ID 以使其工作。
  • @FedericoMoretti 我已经有了那个状态,但是我想从历史记录中排除这些路线,以便在用户在浏览器中导航回来时跳过它们

标签: vue.js vuejs2 vue-router browser-history


【解决方案1】:

点击一个标签:

不是将路由推送到路由历史记录,而是替换 路径历史的现有顶部。

<div @click="$router.replace('/tabs/tab1')"> Tab 1 </div>

如果您使用的是路由器链接标签

<router-link to="/tabs/tab1" replace> Tab 1 </router-link>

【讨论】:

    猜你喜欢
    • 2019-08-14
    • 2017-08-03
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多