#vue-router
#vue-маршрутизатор
Вопрос:
Я видел, что некоторые конфигурации маршрутизатора vue включали этот шаблон в path, например:
{path: "**", component: Xxx}
Что это значит и в чем разница по сравнению с path: "*"
?
Ответ №1:
Насколько я понимаю, "*"
и "**"
должны иметь одинаковую функциональность, поскольку *
должны соответствовать чему угодно. Единственное различие между "*"
и "**"
, которое я могу вывести из исходного кода, относится к этой части кода:
// 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]);
Этот блок кода переместит "*"
маршруты в конец, что означает, что все другие маршруты, которые были определены, будут сопоставлены первыми, прежде чем будет сопоставлен маршрут с подстановочным знаком. Однако, "**"
не будет перемещен в конец, что означает, что любые маршруты, определенные после "**"
, не будут сопоставлены.
Комментарии:
1. Спасибо! Теперь это имеет смысл для меня.