Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 路由器别名优先级_Vue.js_Vuejs2_Vue Router - Fatal编程技术网

Vue.js 路由器别名优先级

Vue.js 路由器别名优先级,vue.js,vuejs2,vue-router,Vue.js,Vuejs2,Vue Router,我在我的路由文件中设置了两条路由,如下所示: { path: '/:language?/chain/:entity/', alias: '/:language?/:entity/', name: 'search', component: Search } 因为路径路径比别名更具体,所以我将其作为我的主路径 这适用于以下情况: /de/chain/mcdonalds/ 但是,对于这种情况,它不起作用: /de/mcdonalds/ 因为我的主路径是/:langua

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

{
    path: '/:language?/chain/:entity/',
    alias: '/:language?/:entity/',
    name: 'search',
    component: Search
}
因为
路径
路径比别名更具体,所以我将其作为我的主
路径

这适用于以下情况:

/de/chain/mcdonalds/

但是,对于这种情况,它不起作用:

/de/mcdonalds/

因为我的主路径是
/:language?/chain/:entity/
,所以它仍然会将
插入我所有的
路由器链接
组件中。即使它与确切的单词不匹配

我希望这条路线优先,如果它匹配的话。如果我交换它们,我将扭转我的整个局面

如何使这两种路由都正常工作?

不幸的是,在
vue router
支持动态别名之前,此功能是不可能的

您可能需要同时执行此操作

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

这是功能请求的Github链接:

为什么您希望一些
具有
/chain/
,而另一些不具有?有一个一致的URL不是更好吗?这会更好,但不幸的是这不是由我决定的。我不知道为什么我在这一点上问这个问题,因为这似乎是无法解释的情况之一。无论如何,谢谢你看一看。不过我还不完全理解这个问题。
呈现href
/de/chain/mcdonalds/
链接是您的问题吗?您是说希望计算的href与
中的路径匹配吗?这很不幸,因为这正是我需要的。谢谢你的回答。