Els plugins són una manera poderosa d'extendre la funcionalitat de Vue.js. Poden proporcionar funcionalitats globals que es poden utilitzar en tota l'aplicació, com ara biblioteques de components, gestió d'estat, o fins i tot integracions amb altres biblioteques o frameworks.
Què és un plugin de Vue.js?
Un plugin de Vue.js és essencialment un objecte o una funció que pot estendre la funcionalitat de Vue. Els plugins poden:
- Afegeix mètodes o propietats globals.
- Registra components, directives o filtres globals.
- Afegeix opcions d'instància.
- Afegeix un mixin global.
- Proporciona una API o funcionalitat específica.
Instal·lació de plugins
Exemple: Instal·lació de Vue Router
Vue Router és un dels plugins més utilitzats en aplicacions Vue.js per gestionar la navegació. A continuació es mostra com instal·lar i utilitzar Vue Router en una aplicació Vue.
Passos per instal·lar Vue Router
-
Instal·la Vue Router:
npm install vue-router
-
Crea un fitxer de configuració del router:
Crea un fitxer
router.js
a la carpetasrc
del teu projecte:// src/router.js import Vue from 'vue'; import Router from 'vue-router'; import Home from './components/Home.vue'; import About from './components/About.vue'; Vue.use(Router); export default new Router({ routes: [ { path: '/', name: 'home', component: Home }, { path: '/about', name: 'about', component: About } ] });
-
Configura el router a la instància principal de Vue:
Modifica el fitxer
main.js
per incloure el router:// 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');
-
Utilitza el router en els teus components:
Assegura't que els components
Home.vue
iAbout.vue
existeixin a la carpetacomponents
i que continguin el següent codi bàsic:<!-- src/components/Home.vue --> <template> <div> <h1>Home</h1> <p>Benvingut a la pàgina principal!</p> </div> </template> <script> export default { name: 'Home' }; </script>
<!-- src/components/About.vue --> <template> <div> <h1>About</h1> <p>Aquesta és la pàgina sobre nosaltres.</p> </div> </template> <script> export default { name: 'About' }; </script>
-
Afegeix enllaços de navegació:
Modifica el component
App.vue
per incloure enllaços de navegació:<!-- 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> <style> nav { margin-bottom: 20px; } nav a { margin-right: 10px; } </style>
Utilitzant altres plugins populars
Exemple: Instal·lació de Vuex
Vuex és un altre plugin popular per a la gestió d'estat en aplicacions Vue.js.
-
Instal·la Vuex:
npm install vuex
-
Crea un fitxer de configuració de Vuex:
Crea un fitxer
store.js
a la carpetasrc
del teu projecte:// src/store.js import Vue from 'vue'; import Vuex from 'vuex'; Vue.use(Vuex); export default new Vuex.Store({ state: { count: 0 }, mutations: { increment(state) { state.count++; } }, actions: { increment({ commit }) { commit('increment'); } }, getters: { count: state => state.count } });
-
Configura Vuex a la instància principal de Vue:
Modifica el fitxer
main.js
per incloure Vuex:// src/main.js import Vue from 'vue'; import App from './App.vue'; import store from './store'; Vue.config.productionTip = false; new Vue({ store, render: h => h(App), }).$mount('#app');
-
Utilitza Vuex en els teus components:
Modifica el component
App.vue
per utilitzar Vuex:<!-- src/App.vue --> <template> <div id="app"> <p>Count: {{ count }}</p> <button @click="increment">Increment</button> </div> </template> <script> export default { name: 'App', computed: { count() { return this.$store.getters.count; } }, methods: { increment() { this.$store.dispatch('increment'); } } }; </script>
Exercicis pràctics
Exercici 1: Instal·la i configura Vue Router
- Crea una nova aplicació Vue.
- Instal·la Vue Router.
- Configura dues rutes:
/
per a la pàgina principal i/about
per a la pàgina sobre nosaltres. - Afegeix enllaços de navegació entre aquestes dues pàgines.
Exercici 2: Instal·la i configura Vuex
- Crea una nova aplicació Vue.
- Instal·la Vuex.
- Configura un estat amb una propietat
count
i una mutació per incrementar aquest valor. - Afegeix un botó en el component principal que incrementi el valor de
count
quan es faci clic.
Solucions
Solució a l'Exercici 1
-
Crea una nova aplicació Vue:
vue create my-vue-app cd my-vue-app
-
Instal·la Vue Router:
npm install vue-router
-
Configura les rutes:
Crea
src/router.js
:import Vue from 'vue'; import Router from 'vue-router'; import Home from './components/Home.vue'; import About from './components/About.vue'; Vue.use(Router); export default new Router({ routes: [ { path: '/', name: 'home', component: Home }, { path: '/about', name: 'about', component: About } ] });
-
Configura el router a
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');
-
Afegeix enllaços de navegació a
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>
Solució a l'Exercici 2
-
Crea una nova aplicació Vue:
vue create my-vue-app cd my-vue-app
-
Instal·la Vuex:
npm install vuex
-
Configura Vuex:
Crea
src/store.js
:import Vue from 'vue'; import Vuex from 'vuex'; Vue.use(Vuex); export default new Vuex.Store({ state: { count: 0 }, mutations: { increment(state) { state.count++; } }, actions: { increment({ commit }) { commit('increment'); } }, getters: { count: state => state.count } });
-
Configura Vuex a
main.js
:import Vue from 'vue'; import App from './App.vue'; import store from './store'; Vue.config.productionTip = false; new Vue({ store, render: h => h(App), }).$mount('#app');
-
Utilitza Vuex en
App.vue
:<template> <div id="app"> <p>Count: {{ count }}</p> <button @click="increment">Increment</button> </div> </template> <script> export default { name: 'App', computed: { count() { return this.$store.getters.count; } }, methods: { increment() { this.$store.dispatch('increment'); } } }; </script>
Conclusió
Els plugins de Vue.js són una eina poderosa per extendre la funcionalitat de les teves aplicacions. En aquest tema, hem après com instal·lar i configurar dos dels plugins més populars: Vue Router i Vuex. Aquests plugins et permeten gestionar la navegació i l'estat de la teva aplicació de manera eficient i estructurada. Amb aquests coneixements, estàs preparat per explorar i utilitzar altres plugins que puguin ser útils per al teu projecte.
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