vue路由器路径中的双星号是什么意思?
What does double asterisk mean in vue router path?
我看到一些 vue 路由器配置在路径中包含此模式,例如:
{path: "**", component: Xxx}
这是什么意思,与path: "*"
相比有什么区别?
据我所知,"*"
和 "**"
应该具有相同的功能,因为 *
应该匹配 任何东西 。我可以从源代码中推断出 "*"
和 "**"
之间的唯一区别与代码的 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]);
此代码块会将 "*"
个路由移动到末尾,这意味着在匹配通配符路由之前,将首先匹配所有已定义的其他路由。但是,"**"
不会移动到末尾,这意味着在 "**"
之后定义的任何路由都不会匹配。
我看到一些 vue 路由器配置在路径中包含此模式,例如:
{path: "**", component: Xxx}
这是什么意思,与path: "*"
相比有什么区别?
据我所知,"*"
和 "**"
应该具有相同的功能,因为 *
应该匹配 任何东西 。我可以从源代码中推断出 "*"
和 "**"
之间的唯一区别与代码的 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]);
此代码块会将 "*"
个路由移动到末尾,这意味着在匹配通配符路由之前,将首先匹配所有已定义的其他路由。但是,"**"
不会移动到末尾,这意味着在 "**"
之后定义的任何路由都不会匹配。