Vue Router предоставляет несколько хуков навигации, которые позволяют выполнять код в разные моменты жизненного цикла маршрутизации:
Работал ли с Vue Router? Расскажи про хуки навигации Vue Router.
Vue Router предоставляет несколько хуков навигации, которые позволяют выполнять код в разные моменты жизненного цикла маршрутизации:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Vue Router предоставляет несколько хуков навигации, которые позволяют выполнять код в разные моменты жизненного цикла маршрутизации:
-
beforeEach(to, from, next)— глобальный хук, вызывается перед каждой навигацией. Можно использовать для проверки авторизации или отмены перехода. -
beforeResolve(to, from, next)— вызывается послеbeforeEachи перед подтверждением навигации, полезен для асинхронных операций. -
afterEach(to, from)— вызывается после завершения навигации, не имеет параметраnext, используется для логирования или аналитики. -
beforeEnter(to, from, next)— локальный хук, задаётся в конфигурации маршрута, срабатывает перед входом в конкретный маршрут. -
Хуки в компонентах:
beforeRouteEnter(to, from, next)— вызывается перед входом в маршрут, компонент ещё не создан.beforeRouteUpdate(to, from, next)— вызывается при обновлении маршрута, когда тот же компонент используется.beforeRouteLeave(to, from, next)— вызывается перед уходом с маршрута.
Пример использования глобального хука:
router.beforeEach((to, from, next) => {
if (to.meta.requiresAuth && !isAuthenticated()) {
next('/login');
} else {
next();
}
});
Эти хуки позволяют гибко управлять навигацией, обеспечивая безопасность, загрузку данных и другие задачи.