Skip to content
Перевод синхронизирован с документацией от , хэш коммита 960662d.

Именованные маршруты

При создании маршрута вы можете опционально задать ему name:

js
const routes = [
  {
    path: '/user/:username',
    name: 'profile', 
    component: User
  },
]

При таком подходе можно использовать name вместо path при передаче параметра to в <router-link>:

template
<router-link :to="{ name: 'profile', params: { username: 'erina' } }">
  User profile
</router-link>

В приведенном выше примере будет создана ссылка на /user/erina.

Использование name имеет определенные преимущества:

  • Никаких жестко заданных URL-адресов.
  • Автоматическое кодирование params.
  • Избегание опечаток в URL.
  • Обход ранжирования путей, например, для отображения маршрута с более низким приоритетом, который соответствует тому же пути.

Каждое имя должно быть уникальным для всех маршрутов. Если вы добавите одно и то же имя в несколько маршрутов, маршрутизатор сохранит только последний из них. Подробнее об этом можно прочитать в разделе Динамическая маршрутизация.

Есть и другие части Vue Router, которым можно передать описание пути, например, методы router.push() и router.replace(). Более подробно мы рассмотрим эти методы в руководстве по программной навигации. Как и входной параметр to, эти методы также поддерживают передачу местоположения при помощи name:

js
router.push({ name: 'profile', params: { username: 'erina' } })

Released under the MIT License.