У меня есть требование для маршрутизации, зависящей от местоположения. Структура сайта выглядит следующим образом:
home (перенаправляет на активностьТип с пройденным городом)
/ (root)
|
|__:activityType
|
|____:city
|
|_______ /
|
| _______ /:itemName
в основном, www.home.com
должен указывать на www.home.com/:activityType/:city
и на этой странице пользователь может щелкнуть элемент для дальнейшей передачи на www.home.com/:activityType/:city/:itemName
Теперь я не уверен, как правильно структурировать vue-router, поскольку все, кроме жестко закодированных значений, возвращает мне 404 ошибки.
return new Router({
mode: 'history',
fallback: false,
scrollBehavior: () => ({ y: 0 }),
routes: [
{ path: '/', redirect: to => {
const { params } = to
if (!!params.activityType){
params.activityType = 'music'
}
if (!!params.city) {
params.city = 'new-york'
}
return '/:activityType/:city'
}},
{ path: '/:activityType', children: [
{ path: ''}, // similar redirect like from root
{ path: '/:city', name: 'venue-page', component: homepage, children: [
{ path: '/:item', component: venue}
]}
]},
]
})
Любая идея, как я могу получить желаемое поведение с homeroute, и, по сути, использовать мой homeroute в качестве запасного варианта?