Мой маршрутизатор имеет следующую структуру:
const router = new VueRouter({
routes: [
{ path: '/',
component: Parent,
redirect: '/parent',
children: [
{
name: 'children1',
path: '/children1',
component: childrenComponent,
},
{
name: 'children2',
path: '/children2',
component: childrenComponent2,
},
Вкл. childrenComponent2
Я добавил beforeRouteLeave
ловушку с this.$confirm
(что обещает) окно сообщения.
beforeRouteLeave(to, from, next) {
this.$confirm('Are you sure you want to navigate away from this page?', 'Warning',
).then(() => {
next();
}).catch(() => {
next(false);
});
},
Однако this.$confirm
работает неправильно.Он показывает всего 0,5 секунды без ожидания ввода пользователя.Если я заменю его на window.confirm
, он будет работать правильно.Как это сделать?Почему это не ждет моего выбора, но сразу пытается перейти (безрезультатно, он изменяет URL, но не отображает представление)?
Спасибо