всегда распознаётся по первой строке где slug (даже если её переместить в самый конец). есть предположение, что надо как-то написать что slug не может состоять из 4 цифр, не может начинаться с tag- и page. но вот как это сделать...
{ path: "/news/:slug", component: Post },
{ path: "/news/", component: Posts, children: [
{ path: "/news/", component: PostsList },
{ path: "/news/page:page(\\d+)", component: PostsList },
{ path: "/news/:year(\\d{4})", component: PostsList },
{ path: "/news/:year(\\d{4})/page:page(\\d+)", component: PostsList },
{ path: "/news/tag-:tag(\[\\w-\]+)", component: PostsList },
{ path: "/news/tag-:tag(\[\\w-\]+)/page:page(\\d+)", component: PostsList },
{ path: "/news/:year(\\d{4})/tag-:tag(\[\\w-\]+)", component: PostsList },
{ path: "/news/:year(\\d{4})/tag-:tag(\[\\w-\]+)/page:page(\\d+)", component: PostsList }
] },
валидировать слаги нужно внутри компоненте в методи валидейт. только он не перебросит к сл. роуту а выдаст 404 если не пройдет
Обсуждают сегодня