vue路由器路径中的双星号是什么意思?

时间:2019-03-19 03:06:37

标签: vue-router

我已经看到一些vue路由器配置在以下路径中包含此模式:

{path: "**", component: Xxx}

这是什么意思?与path: "*"相比有什么区别?

1 个答案:

答案 0 :(得分:1)

据我了解,"*""**"应该具有相同的功能,因为*应该匹配任何内容。我可以从源代码中推断出"*""**"之间的唯一区别与代码的this部分有关:

// ensure wildcard routes are always at the end
for (var i = 0, l = pathList.length; i < l; i++) {
    if (pathList[i] === '*') {
       pathList.push(pathList.splice(i, 1)[0]);

此代码块会将"*"路由移到末尾,这意味着在匹配通配符路由之前,将首先匹配所有已定义的其他路由。但是,"**"不会移到末尾,这意味着"**"之后定义的任何路由都将不匹配。