Skip to main content

Для чого використовується роутер у 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.history
  • pushState
  • replaceState

4. Передача параметрів у сторінки

Наприклад:

/products/15

Роутер віддасть:

js
route.params.id === "15"

5. Керування доступом (guards)

Можна обмежити доступ до маршрутів:

  • тільки авторизованим
  • тільки admin
  • тільки якщо дані завантажені

Приклад:

js
router.beforeEach((to, from, next) => { if (!isLoggedIn) next('/login') else next() })

6. Динамічна навігація з коду

Можна перемкнути «сторінку» не тільки через <router-link>, а й програмно:

js
router.push('/dashboard')

7. Lazy-loading сторінок (оптимізація)

Роутер вміє завантажувати компонент тільки коли він потрібен:

js
component: () => import('../pages/Home.vue')

Це зменшує розмір застосунку при першому завантаженні.


Підсумок (ідеально для співбесіди)

Роутер у SPA використовується для керування навігацією без перезавантаження сторінки. Він дозволяє відображати різні компоненти за різними URL, працювати з історією, передавати параметри, захищати маршрути, програмно змінювати сторінки і виконувати lazy-loading. Завдяки роутеру SPA працює як звичайний сайт, але швидше й плавніше.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.