Я всегда использую именованные маршруты.
Преимущество заключается в том, что вы можете изменить путь маршрута без необходимости изменять путь при каждом вызове <router-link>
или this.$router.push()
.
Это своего рода причина, по которой в программировании мы избегаем магических значений и вместо этого используем именованные константы - мы можем изменить значение в одном месте без необходимости находить и заменять все вхождения значение в нашем коде.
Без использования именованных маршрутов ваш код становится тесно связанным с путем каждого маршрута, вы не можете изменить один без необходимости изменения другого. Именованные маршруты делают наш код независимым от путей маршрутов - он будет работать независимо от того, каким будет путь маршрута.
Другим преимуществом является то, что мы можем воспользоваться наследованием параметров / запросов для вложенных маршрутов - нам не нужно восстанавливать полный путь, вместо этого мы можем просто передать имя дочернего маршрута, и Vue создаст полный путь с любым существующие параметры.
Предположим, у нас есть следующие маршруты:
{
name: 'user',
path: '/user/:id',
children: [
{
name: 'profile',
path: 'profile'
}
]
}
и текущий маршрут маршрута /user/1
. Чтобы перейти на страницу профиля, нам нужно сделать либо:
this.$router.push({ name: 'profile' })
или
this.$router.push('/user/' + this.$route.params.id + '/profile')
Первый вариант проще и менее подвержен ошибкам.