Què és Vue Router?
Vue Router és la solució oficial de Vue.js per a la gestió de rutes en aplicacions d'una sola pàgina (SPA). Permet definir rutes per a les diferents vistes de l'aplicació i proporciona una manera senzilla de navegar entre elles. Vue Router és molt flexible i es pot integrar fàcilment amb Vue.js per crear aplicacions web dinàmiques i interactives.
Característiques clau de Vue Router:
- Declaració de rutes: Defineix rutes per a les diferents vistes de l'aplicació.
- Navegació dinàmica: Permet canviar de vista sense recarregar la pàgina.
- Rutes dinàmiques: Suporta paràmetres dinàmics en les rutes.
- Rutes niades: Permet definir rutes dins d'altres rutes.
- Guàrdies de navegació: Proporciona mecanismes per controlar l'accés a les rutes.
- Historial del navegador: Utilitza l'API d'historial del navegador per a una navegació més natural.
Instal·lació de Vue Router
Utilitzant npm o yarn
Per instal·lar Vue Router en un projecte Vue.js, pots utilitzar npm o yarn:
o
Configuració bàsica
Després d'instal·lar Vue Router, has de configurar-lo en el teu projecte. A continuació es mostra un exemple de configuració bàsica:
- Crea un fitxer
router.jsper definir les rutes:
// src/router.js
import Vue from 'vue';
import Router from 'vue-router';
import Home from './views/Home.vue';
import About from './views/About.vue';
Vue.use(Router);
export default new Router({
mode: 'history',
routes: [
{
path: '/',
name: 'home',
component: Home
},
{
path: '/about',
name: 'about',
component: About
}
]
});- Importa i utilitza el router en la instància principal de Vue:
// src/main.js
import Vue from 'vue';
import App from './App.vue';
import router from './router';
Vue.config.productionTip = false;
new Vue({
router,
render: h => h(App)
}).$mount('#app');- Crea els components de les vistes:
// src/views/Home.vue
<template>
<div>
<h1>Home</h1>
<p>Welcome to the Home page!</p>
</div>
</template>
<script>
export default {
name: 'Home'
};
</script>// src/views/About.vue
<template>
<div>
<h1>About</h1>
<p>This is the About page.</p>
</div>
</template>
<script>
export default {
name: 'About'
};
</script>- Utilitza el component
router-viewen el teu component principal:
<!-- src/App.vue -->
<template>
<div id="app">
<nav>
<router-link to="/">Home</router-link>
<router-link to="/about">About</router-link>
</nav>
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'App'
};
</script>Navegació entre rutes
Utilitzant router-link
El component router-link s'utilitza per crear enllaços de navegació entre les rutes definides. Exemple:
Navegació programàtica
També pots navegar entre rutes de manera programàtica utilitzant el mètode $router.push:
Resum
En aquesta secció, hem après què és Vue Router i com instal·lar-lo i configurar-lo en un projecte Vue.js. Hem vist com definir rutes, crear components de vistes i utilitzar el component router-view per renderitzar les vistes. També hem explorat com navegar entre rutes utilitzant router-link i la navegació programàtica. En la següent secció, aprofundirem en la configuració de Vue Router i explorarem característiques més avançades com les rutes dinàmiques i niades.
Curs de Vue.js
Mòdul 1: Introducció a Vue.js
- Què és Vue.js?
- Configuració de l'entorn de desenvolupament
- Creant la teva primera aplicació Vue
- Entenent la instància de Vue
Mòdul 2: Conceptes bàsics de Vue.js
- Sintaxi de plantilles
- Enllaç de dades
- Propietats computades i observadors
- Enllaços de classes i estils
- Renderització condicional
- Renderització de llistes
Mòdul 3: Components de Vue.js
- Introducció als components
- Props i esdeveniments personalitzats
- Slots
- Components dinàmics i asíncrons
- Comunicació entre components
Mòdul 4: Vue Router
- Introducció a Vue Router
- Configuració de Vue Router
- Rutes dinàmiques
- Rutes niades
- Guàrdies de navegació
Mòdul 5: Gestió d'estat amb Vuex
- Introducció a Vuex
- Estat, getters, mutacions i accions
- Mòduls a Vuex
- Utilitzant Vuex en components
- Patrons avançats de Vuex
Mòdul 6: Directives de Vue.js
Mòdul 7: Plugins de Vue.js
Mòdul 8: Proves en Vue.js
Mòdul 9: Conceptes avançats de Vue.js
- Funcions de renderització i JSX
- Renderització del costat del servidor (SSR) amb Nuxt.js
- API de composició de Vue 3
- Optimització del rendiment
