динамический псевдоним vue router - PullRequest
0 голосов
/ 26 сентября 2018

Я хотел бы присвоить псевдониму непревзойденный маршрут к странице ошибки 404 без изменения URL.

В конфигурации маршрутизатора есть псевдоним перехвата, такой как:

{
    path: '/404',
    alias: '*',
    name: 'error',
    component: Error
}

Когда пользователь посещает my-site.com/random-inexisting-url, URL-адрес не изменяется, и он отображает страницу ошибки.

Пока все работает нормально.


Теперь я хотел бы сделать то же самое с динамическими маршрутами.Например, существует маршрут типа my-site.com/pages/:id, и пользователь посещает my-site.com/pages/inexisting-id.

Параметр id используется для извлечения API, поэтому нет автоматического перенаправления на страницу ошибки, если API возвращает ноль.Можно перенаправить на страницу /error с помощью router.push({ name: 'error' }) или с помощью навигационной карты, но она изменит URL-адрес на /error.

Можно ли сохранить исходный URL-адрес, но при этом отобразить страницу ошибки? (что-то вроде router.aliasTo({name: 'error' })

...