Vue路由器别名优先级

时间:2018-06-28 11:09:38

标签: vue.js vuejs2 vue-router

我在路由文件中设置了两条路由,如下所示:

{
    path: '/:language?/chain/:entity/',
    alias: '/:language?/:entity/',
    name: 'search',
    component: Search
}

因为path路由比我作为主path放置的别名更具体。

这适用于以下情况:

/de/chain/mcdonalds/

但是对于这样的事情却不起作用:

/de/mcdonalds/

由于我的主要路径是'/:language?/ chain /:entity /',因此仍会将chain插入我所有的router-link组件中。即使不匹配确切的单词。

我希望该路由优先(如果匹配)。如果我将它们交换,我将扭转整个局势。

如何使这两个路线都能正常工作?

1 个答案:

答案 0 :(得分:2)

Halo Stephan,

不幸的是,直到vue路由器支持动态别名为止,该功能才可行。

与此同时您可能需要这样做

{
  path: '/:language?/chain/:entity/',
  name: 'search',
  component: Search
},
{
  path: '/:language?/:entity/',
  name: 'search',
  component: Search
}

功能请求的github链接:https://github.com/vuejs/vue-router/issues/1858