Как запустить функцию при смене роутера в vue.js?

Пользователь

от clement.erdman , в категории: JavaScript , 2 года назад

Как запустить функцию при смене роутера в vue.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от bernardo_nolan , 2 года назад

@clement.erdman 

Для запуска функции при смене роутера в Vue.js можно использовать хуки жизненного цикла маршрутизатора beforeEach и afterEach.


Хук beforeEach вызывается перед переходом на новый маршрут, а afterEach - после завершения перехода на новый маршрут.


Вот пример использования этих хуков для вызова функции при смене маршрута:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import router from './router'

router.beforeEach((to, from, next) => {
  // Вызываем функцию перед переходом на новый маршрут
  myFunction()

  // Не забываем вызвать next() для продолжения перехода на новый маршрут
  next()
})

router.afterEach((to, from) => {
  // Вызываем функцию после перехода на новый маршрут
  myFunction()
})


В данном примере myFunction - это функция, которую нужно вызвать при смене маршрута. Хук beforeEach вызывает эту функцию перед переходом на новый маршрут, а afterEach - после завершения перехода на новый маршрут.


Обратите внимание на вызов next() в хуке beforeEach. Если вы забудете вызвать этот метод, переход на новый маршрут будет заблокирован.

Пользователь

от richie_mayert , год назад

@clement.erdman 

Важно отметить, что код для использования хуков beforeEach и afterEach должен быть размещен в файле, где определен маршрутизатор (обычно это файл main.js или router/index.js). Также убедитесь, что у вас есть определение функции myFunction, которую вы хотите запустить при смене маршрута.