РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗ppinSpEvInr 85 of 112 menu
◀ ▶

События в Inertia

Ссылка, форма и программный визит через router каждый раз отправляют запрос на Laravel и ждут ответ с новой страницей или обновлёнными пропсами. Приложению часто нужно отреагировать на эти шаги не в одном компоненте, а сразу во всём клиенте: показать ожидание, записать аналитику, поймать flash-сообщение с сервера или сбросить индикатор после любого исхода запроса.

Для одного визита уже есть колбэки в третьем аргументе методов router: они срабатывают только у этого вызова и живут рядом с кодом кнопки или формы. Inertia v3 добавляет отдельную систему событий: метод on у объекта router регистрирует слушатель на имя события, и тот вызывается при каждом подходящем запросе, откуда бы визит ни стартовал.

Такие слушатели удобно вешать при запуске клиента или в корневом макете: один раз настроили реакцию на start, success, finish, navigate или flash, и дальше не дублируют логику в каждой странице. Flash-сообщение в основном учебнике уже выводили из page.flash в шаблоне; здесь тот же ответ сервера можно обработать событием flash в одном месте, а на клиенте иногда достаточно метода flash у router без нового запроса.

Со всем этим мы и будем разбираться в рамках данного раздела.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить