Недавно я столкнулся с проблемой использования модуля auth в Nuxt.js и вызова $router.push в следующей строке кода того же метода. Загадка началась, когда строки после метода auth.loginWith не выполнились должным образом, так как страница была перенаправлена ​​на URI перенаправления.

На земле Vue.js была всего неделя, поэтому я полагаю, что с этой проблемой сталкиваются многие новички.

Итак, вот с чего все началось:

У меня есть функция authenticate(), тело которой выглядит так:

Теперь обратите внимание, что после вызова строки: 2 выполнение передается промежуточному программному обеспечению auth nuxt.js. Таким образом, использование $router.push в строке:5 излишне.

Прежде чем мы продолжим, давайте посмотрим, где определяются конфигурации аутентификации:

Go to: nuxt.config.js

Найдите ключ auth

Обратите внимание, клавиша home.

Бинго!

Это именно то, что мы хотим настроить.

Прежде чем приступать к настройке, давайте проясним, что мы пытаемся сделать и почему:

  • Мы хотим использовать все преимущества модуля auth, кроме функции redirect.
  • Строки после $auth.loginWith необходимо выполнить перед обновлением представления. В данном случае это уведомление о загрузке и успешном выполнении, которое необходимо отобразить до того, как пользователь будет перенаправлен на панель инструментов после успешного входа в систему.

Теперь осталось только отключить перенаправление в опции auth

  • home: false сделает свою работу!

Объект auth в nuxt.config.js теперь будет выглядеть так:

Бам! Мы сделали.