@AndreyChaki

Как отлавливать роутинг на 404 во vue3. если начальный роутинг начинается с параметра /:id?

в веб приложение попадаем с id (uuid) в урле.
Пример ссылки site.ru/123-456-789
Далее внутри веб приложение ходит по внутренним урлам с этим id.
Пример урла site.ru/123-456-789/page1/

Вопрос 1: как в таком случае отлавливать некорректные урлы, такие как:
site.ru/123-456-789/wrong-url-1/
site.ru/123-456-789/page1/wrong-url-1/

Вопрос 2: если стерли часть id (uuid) в урле. как отправить так же на 404

const routes = [
    {
        path: '/:id/',
        component: Main,
        children: [
            {
                path: 'page1',
                name: "Page1",
                component: () => import('../views/Page1'),
            },
            {
                path: 'page2',
                name: 'Page2',
                component: () => import('../views/Page2'),
            }
        ]
    },
    {
        path: '/:pathMatch(.*)*',
        name: "page404",
        component: () => import('../views/Error404'),
    },
]

const router = createRouter({
    history: createWebHistory(process.env.BASE_URL),
    routes
});

router.beforeEach((to, from, next) => {
    store.dispatch('setUrlParams',  to.params)
        .then(() => {
            return store.dispatch('setData')
        })
        .then(() => {
            next();
        })
});
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы