Вопрос
Как использовать Vue.js, как я могу вернуть ошибку 404 в динамический маршрут без изменения URL?
Часть моего route.js (все в порядке)
{
path: '/work/:id',
name: 'work',
component: () => import( './views/Work.vue' )
},
{
path: '*',
name: 'NotFound',
component: () => import( './views/NotFound.vue' )
}
Часть компонента Work.vue.Где я проверяю, есть ли параметр маршрута в моем статическом json, если нет, откройте компонент NotFound до того, как маршрут введите
beforeRouteEnter (to, from, next) {
next(vm => {
vm.item = json.find(item => item.id == vm.$route.params.id)
if(!vm.item) {
next({name: NotFound})
}
})
}
Проблема
Когда я пытаюсь site.com / work / non-existing-id , компонент "NotFound" открыт, но URL-адрес изменяется с site.com / work / non-existing-id на site.com
Что я ожидаю
site.com / work / non-existing-id открытый компонент "NotFound"и URL-адрес остается на site.com / work / non -existing-id
Пример
https://vuejs.org/v2/guide/something - возврат 404ошибка и остаться в URL