L'enllaç de dades és un dels conceptes fonamentals en Vue.js que permet sincronitzar les dades entre el model i la vista de manera reactiva. Això significa que qualsevol canvi en les dades del model es reflectirà automàticament en la vista i viceversa.

Tipus d'enllaç de dades

  1. Enllaç de dades unidireccional

L'enllaç de dades unidireccional permet que les dades flueixin des del model cap a la vista. Això es fa utilitzant la sintaxi de plantilles de Vue.js.

Exemple:

<div id="app">
  <p>{{ message }}</p>
</div>

<script>
  new Vue({
    el: '#app',
    data: {
      message: 'Hola, món!'
    }
  });
</script>

En aquest exemple, el valor de message es mostra dins del paràgraf <p>. Si el valor de message canvia, la vista es tornarà a renderitzar automàticament per reflectir el nou valor.

  1. Enllaç de dades bidireccional

L'enllaç de dades bidireccional permet que les dades flueixin tant des del model cap a la vista com des de la vista cap al model. Això es fa utilitzant la directiva v-model.

Exemple:

<div id="app">
  <input v-model="message" placeholder="Escriu un missatge">
  <p>{{ message }}</p>
</div>

<script>
  new Vue({
    el: '#app',
    data: {
      message: ''
    }
  });
</script>

En aquest exemple, el valor de message es sincronitza amb l'entrada de text. Qualsevol canvi en l'entrada de text actualitzarà el valor de message i viceversa.

Directives d'enllaç de dades

  1. v-bind

La directiva v-bind s'utilitza per enllaçar atributs HTML amb dades de Vue.js. Això és útil per a atributs com src, href, class, style, etc.

Exemple:

<div id="app">
  <img v-bind:src="imageSrc" alt="Imatge">
</div>

<script>
  new Vue({
    el: '#app',
    data: {
      imageSrc: 'https://via.placeholder.com/150'
    }
  });
</script>

En aquest exemple, l'atribut src de la imatge es vincula amb la propietat imageSrc del model de dades.

  1. v-model

La directiva v-model s'utilitza per crear enllaços de dades bidireccionals en elements de formulari com <input>, <textarea> i <select>.

Exemple:

<div id="app">
  <input v-model="username" placeholder="Escriu el teu nom d'usuari">
  <p>Nom d'usuari: {{ username }}</p>
</div>

<script>
  new Vue({
    el: '#app',
    data: {
      username: ''
    }
  });
</script>

En aquest exemple, el valor de username es sincronitza amb l'entrada de text.

Exercicis pràctics

Exercici 1: Enllaç de dades unidireccional

Crea una aplicació Vue que mostri un missatge de benvinguda utilitzant enllaç de dades unidireccional.

Solució:

<div id="app">
  <h1>{{ welcomeMessage }}</h1>
</div>

<script>
  new Vue({
    el: '#app',
    data: {
      welcomeMessage: 'Benvingut a Vue.js!'
    }
  });
</script>

Exercici 2: Enllaç de dades bidireccional

Crea una aplicació Vue que permeti a l'usuari introduir el seu nom i mostri un missatge de benvinguda personalitzat utilitzant enllaç de dades bidireccional.

Solució:

<div id="app">
  <input v-model="name" placeholder="Escriu el teu nom">
  <h1>Hola, {{ name }}!</h1>
</div>

<script>
  new Vue({
    el: '#app',
    data: {
      name: ''
    }
  });
</script>

Errors comuns i consells

Error: No es reflecteixen els canvis en la vista

  • Solució: Assegura't que la propietat de dades està definida correctament en l'objecte data de la instància de Vue.

Error: v-model no funciona en elements personalitzats

  • Solució: v-model només funciona en elements de formulari natius com <input>, <textarea> i <select>. Per a elements personalitzats, hauràs de gestionar l'enllaç de dades manualment.

Conclusió

L'enllaç de dades és una característica poderosa de Vue.js que facilita la sincronització de dades entre el model i la vista. Comprendre com utilitzar l'enllaç de dades unidireccional i bidireccional, així com les directives v-bind i v-model, és fonamental per desenvolupar aplicacions Vue.js eficients i reactives. Amb aquests coneixements, estàs preparat per avançar cap a conceptes més avançats de Vue.js.

Curs de Vue.js

Mòdul 1: Introducció a Vue.js

Mòdul 2: Conceptes bàsics de Vue.js

Mòdul 3: Components de Vue.js

Mòdul 4: Vue Router

Mòdul 5: Gestió d'estat amb 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

Mòdul 10: Construcció i desplegament d'aplicacions Vue.js

Mòdul 11: Projectes de Vue.js del món real

© Copyright 2024. Tots els drets reservats