我已经看到一些vue路由器配置在以下路径中包含此模式:
{path: "**", component: Xxx}
这是什么意思?与path: "*"
相比有什么区别?
答案 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]);
此代码块会将"*"
路由移到末尾,这意味着在匹配通配符路由之前,将首先匹配所有已定义的其他路由。但是,"**"
不会移到末尾,这意味着"**"
之后定义的任何路由都将不匹配。