Вопрос проверяет знание Vue Router и способов реагирования на изменение маршрута внутри компонентов.
Изменение маршрута можно отследить через watch на $route, через навигационные guard’ы или с помощью хуков маршрута. Самый простой способ — наблюдать за $route или его параметрами. Это позволяет реагировать на смену пути или параметров URL. Такой подход используется для загрузки новых данных. Выбор метода зависит от задачи.
Во Vue существует несколько способов отследить изменение маршрута, каждый из которых подходит для разных сценариев.
Самый распространённый способ — использовать watch.
watch: {
$route(to, from) {
this.fetchData();
}
}
В этом случае:
код выполняется при любой смене маршрута
доступна информация о старом и новом маршруте
Можно следить только за нужными параметрами.
watch: {
'$route.params.id'(newId) {
this.loadUser(newId);
}
}
Vue Router предоставляет специальные хуки.
beforeRouteEnter
beforeRouteUpdate
beforeRouteLeave
Они позволяют реагировать на смену маршрута до или после навигации.
Отслеживать изменение маршрута можно через watch или специальные хуки Vue Router, выбирая способ в зависимости от уровня контроля и сложности логики.