Vue js如何设置默认路由器路径以在Web应用加载时进行导航

时间:2018-08-30 13:08:23

标签: vue.js vuejs2 vue-router

我有一个项目,它的路由选择是这样的。

1. /
2. admin-panel/:type
    2.1 create-user
    2.2 update-user
    2.3 etc...
3. forgot password

我的问题是,如果有人来到admin-panel/:type,他必须路由到创建用户 默认情况下。

为此,我使用了一种棘手的方法,即在admin-panel/:type下创建根路由

像这样

2.admin-panel
 2.1 /
 2.2 create-user

但这一次不起作用,因为 admin-panel 具有名为 type 的参数。

我想如果有人来到admin-panel,则默认情况下应将他引向create-user。我该如何实现?

任何帮助!

非常感谢!

2 个答案:

答案 0 :(得分:0)

我必须将重定向属性添加到admin-panel路由中。

答案 1 :(得分:0)

对于这些情况,我个人在路由文件中使用afterEach钩子:

router.afterEach((to, from) => {
  let exist = false

  for (let i in this.a.options.routes) {
    if (this.a.options.routes[i].name === to.name) {
      exist = true
    }
  }

  if (!exist) {
    this.a.push({
      name: from.name
    })
  }
})

您可以将另一个钩子用作beforeEach(我不记得我们为什么要使用after)。基本上,目标是浏览路线列表,如果不存在,它将返回到您当前所在的路线,这实际上意味着您不会注意到任何更改,只是不会更改路线。