Для чого використовується роутер у SPA?
Роутер у SPA (Single Page Application) потрібен для того, щоб керувати навігацією між «сторінками» без перезавантаження браузера. Він робить SPA схожими на звичайні багатосторінкові сайти, але без втрати швидкості й плавності.
Простіше кажучи:
Роутер дозволяє змінювати URL → відображати потрібний компонент → але сторінка фізично не перезавантажується.
Для чого саме використовується роутер у SPA?
1. Навігація без перезавантаження сторінки
Звичайний сайт: Кожен перехід = завантаження нової HTML-сторінки.
SPA:
Роутер просто підміняє компонент у <router-view>.
- Швидше
- Плавніше
- Немає зайвих запитів
2. Відображення різних компонентів за різними URL
Наприклад:
/→ компонент Home/users→ компонент Users/users/10→ компонент UserInfo
Тобто роутер зв'язує шлях → компонент.
3. Робота з історією браузера
SPA все одно підтримує:
- кнопки «назад/вперед»
- прямий перехід за URL
- закладки
Роутер керує:
window.historypushStatereplaceState
4. Передача параметрів у сторінки
Наприклад:
/products/15
Роутер віддасть:
route.params.id === "15"5. Керування доступом (guards)
Можна обмежити доступ до маршрутів:
- тільки авторизованим
- тільки admin
- тільки якщо дані завантажені
Приклад:
router.beforeEach((to, from, next) => {
if (!isLoggedIn) next('/login')
else next()
})6. Динамічна навігація з коду
Можна перемкнути «сторінку» не тільки через <router-link>, а й програмно:
router.push('/dashboard')7. Lazy-loading сторінок (оптимізація)
Роутер вміє завантажувати компонент тільки коли він потрібен:
component: () => import('../pages/Home.vue')Це зменшує розмір застосунку при першому завантаженні.
Підсумок (ідеально для співбесіди)
Роутер у SPA використовується для керування навігацією без перезавантаження сторінки. Він дозволяє відображати різні компоненти за різними URL, працювати з історією, передавати параметри, захищати маршрути, програмно змінювати сторінки і виконувати lazy-loading. Завдяки роутеру SPA працює як звичайний сайт, але швидше й плавніше.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.