Introducción

Vue al igual que otros frameworks para el desarrollo web, también tiene una forma de crear rutas.

Vue permite crear páginas web que sean SPA (Single Page Application), esto quiere decir que el usuario, tiene la sensación de que esta navegando entre varias páginas pero lo que de verdad pasa es que Vue por debajo está cambiando el HTML al instante sin tener que recargar la página., para demostrarlo crearemos un menú en vue.

Os voy a poner un ejemplo, estamos en la página principal de una aplicación SPA y navegamos a la URL/usuario, Vue lo que hace es renderizar el componente asociado a esa ruta en la página web. Como ese componente ya lo tiene cargado el cambio entre las páginas es instantáneo.

Para que nosotros podamos hacer esto, la persona que creo Vue Router, ha desarrollado un conjunto de utilidades para crear rutas en vue.

En un fichero configuras las rutas que quieres crear y las asocias a componentes que se cargaran cuando el usuario navegue a la ruta.

Creación del Proyecto

Lo primero que haremos será crear el proyecto, usaremos un programa llamado cmder, que es como la consola de cmd de Windows, pero con una interfaz más interesante y más intuitiva.

Dejo el enlace :

https://cmder.net/

Escribiremos el siguiente comando para poder crear el proyecto en vue:

vue create <NombreProyecto>

Imagen 1

Una vez creado el proyecto accederemos a la carpeta mediante comandos.

cd <NombreProyecto>

Imagen 2

Una vez dentro de nuestro proyecto haremos la instalación de vue–router con el siguiente comando.

npm install --save vue-router

Imagen 3

El cual nos instalará en nuestro proyecto librerías de router para poder interactuar entre los diferentes componentes que vayamos a crear en el proyecto.

Ahora pondremos el siguiente comando en la consola para que nos abra el visual studio code.

code .

Imagen 4

Visual Studio Code

Ya creado el proyecto por consola y realizado las instalaciones necesarias, pasaremos al editor de código (Visual Studio Code).

Como podemos observar tenemos las carpetas del proyecto que hemos creado y lo primero que haremos será ir a src y dentro tendremos la carpeta

Imagen 5

Dentro del archivo de main.js lo primero que tienes que hacer es importar Vue y vue-router y hacer que vue use el router, así:

import Vue from 'vue'import VueRouter from 'vue-router';

Vue.config.productionTip = false;
Vue.use(VueRouter);

Imagen 6

Las rutas se crean en un array con esta sintaxis:

const routes = [  {path: "/", component:Home},];

Imagen 7

Como ves cada ruta se crea en forma de objeto con propiedades. En el path indicas la ruta que quieres que se use (por ejemplo “/home”), en el name puedes darle un nombre a la ruta para identificarla posteriormente, y en el component pones el componente que quieres que se use en esa ruta, así que tendrás que importarlo de esta forma:

import Home from './components/Home.vue';

Imagen 8

Debajo de las rutas, en el mismo fichero, tienes que meter esto para que Vue pueda usar las rutas que acabas de crear:

const router = new VueRouter({  routes,  mode:"history"});

Imagen 9

Dentro del archivo main.js del src tienes que meter esto para que funcione:

new Vue({  router,  render: h=> h(App),}).$mount('#app')

Imagen 10

Y listo, con esto ya tendríamos una ruta funcionando en Vue. Si quieres añadir más rutas lo que tienes que hacer simplemente es añadir más objetos al array de rutas del archivo router.js que acabas de crear, así:

const routes = [ 

{path: "/", component:Home}, 

{path: "/detalle/:idcoche", component :DetalleCoche},

];

Imagen 11

Creación de componentes

Con VueJS se implementa lo que se conoce como arquitectura de componentes. Permite dividir las aplicaciones en bloques con funcionalidades independientes, llamados componentes. Esos bloques podrían ser una cabecera, un menú, un listado, una ficha de producto, etc. En realidad, cualquier cosa que podamos necesitar puede ser un componente.

Contenido de un componente:

Imagen 12

Creación del componente Menú

Crearemos el componente de menú para poder navegar entre los diferentes componentes que tengamos en nuestra página.

Código del componente de Menú.vue

Imagen 13

Al instalar vue router, se crea una etiqueta HTML especial para poder navegar a las rutas, llamada router-link. Veamos un ejemplo:

Imagen 14

Usaremos está etiqueta para poder crear el <li> para recorrer un objeto donde tendremos todos los coches, que mostraremos posteriormente en el menú.

Imagen 14

Array donde se encuentran, las imagenes delos coches , nombre , id.

Imagen 15

Creación de componente Detalle

Crearemos un componente en el cual le pasaremos un id de cada coche, para así, poder buscarlo y poder mostrar los detalles de dicho coche.

Imagen 16

pasaremos la id por parametro en el path del detalle:

Imagen 17

Ese id lo recibiremos en el componente DetalleCoche.

Imagen 18

Crearemos una función llamada CargarCoche() en el cual haremos una búsqueda por todos los coches que tengamos en el array para ver cual corresponde al id que nos han pasado y así, poder pintarlo en DetalleCoche

Imagen 19

Haremos una comprobación con los props para, que nos cargue detalle en cualquier, momento, ya que si no lo hacemos nos crearía un conflicto y no, nos pintaría los coches que pulsemos.

Imagen 20

Tendremos un botón el cual nos redirige a la página principal.

Imagen 21

Este sería el código para el botón:

Imagen 22

Meter Bootstrap en Vue

Es importa ir al fichero de Index.html y ingresar las siguientes líneas de código, para poder implementar bootstrap en nuestro proyecto y que el diseño de la página sea más atractivo

Este código va dentro de la etiqueta de <head>

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"     integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

Imagen 23

Y este otro código va dentro de la etiqueta <body>

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>   

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>

Imagen 24

Para poder ejecutar el servidor en la consola debemos poner yarn serve

Imagen 25

Una vez lo ejecutemos nos dará un enlace :

http://localhost:8080/

Imagen 26

Pondremos esa dirección en nuestro navegador y ya tendríamos el menú.

Imagen 27

Bueno y esto sería todo para realizar tu propio menú en vue, espero os haya servido de ayuda, dejo el link del repositorio para que lo podáis descargar.

Autor: Steven Alexander Cadena Giler

Curso: Desarrollo Web Full Stack, MultiCloud y Multiplataforma 

Centro: Tajamar 

Año académico: 2021-2022 

Enlace a GitHub:  https://github.com/Steven-Cadena/proyectomenu

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.