Вообще, сообщество laravel придумало два инструмента для работы с интерактивностью, советую посмотреть.
1. Inertia.js , позволяет упростить работу с vue-компонентами. Доступен серверный роутинг, серверная валидация, серверная аутентификация, не надо ничего дублировать в vue. Т.е. ты работаешь с компонентами как со вьюхами, туда всё прокидывается автоматом, есть свои стандарты и умолчания, масса низкоуровневого головняка снимается. Надо сесть, почитать, за час точно разберёшься. Есть готовое приложение, можно на примерах научиться как там все работает.
https://inertiajs.com/2. Laravel livewire + alpine.js . Тут вообще вырезается тяжёлый vue, для всяких модалок, скрытия-открытия и дропдаунов используется крохотный alpine, а вся интерактивность рендерится на сервере и гоняется по сети в виде html аякс-запросами - как это сделано, например, на гитхабе, там нет js-фреймворка.
https://laravel-livewire.com/