Curso Vue Router esencial: aprende a enrutar con Vue

Rutas con nombre en Vue Router

  • Vamos a hablar de otra forma de expresar el acceso a rutas. Más conveniente y sencillo de mantener.
  • Si te fijas, cuando utilizamos el componente RouterLink hacemos uso de la propiedad path de cada ruta establecida en la constate routes de router/index.js.
  • Aunque esto es perfectamente válido, imagina que en todo el proyecto tienes varias referencias al path de esa ruta, ¿que ocurre si un día decides cambiarla?. Obviamente no seróa el fin del mundo y con buscar y reemplazar puedes solucionarlo en unos minutos pero ahora piensa en que no es una ruta, sino varias. O quizás estas componiendo el path de forma dinámica en alguna parte...
  • Es mucho más sencillo usar la propiedad name que hemos establecido en cada ruta, porque aunque el path de la ruta cambie, podemos mantener el mismo identificador y referirnos a él.
  • Vamos a realizar los cambios en los componentes necesarios. Primero en AppHeader.
<nav>
  <RouterLink :to="{ name: 'Home' }">Directory</RouterLinkk>
  <RouterLink :to="{ name: 'Contact' }">Contact</RouterLink>
  <RouterLink :to="{ name: 'Legal' }">Legal</RouterLink>
</nav>
  • Luego en AppUser.
<RouterLink class="user__more"
   :to="{
      name: 'Info',
      params: { username: this.username }
    }"
>Show user info 👁</RouterLink>
  • Y por último en AppUserList.
<RouterLink :to="{ name: 'User', params: { username: user.login.username } }">
...
</RouterLink>
  • El proyecto sigue funcionando correctamente pero ahora tienes una mayor seguridad a la hora de cambiar aspectos de las rutas y sus parámetros, porque te estás refiriendo a ellas a través de su nombre.

No te pierdas ninguna novedad

Escuela Vue en Twitter

Participa en la Comunidad Escuela Vue

Comunidad Escuela Vue