Refs & computed

Dans Quasar, les magasins se trouvent dans le dossier src/store/. Et sont organisés en modules.

Les modules sont ensuite importés dans Quasar via le fichier src/store/index.js

Création du magasin des tâches

Créer un nouveau fichier src/store/store-taches.js et y ajouter le code suivant :

Il faut ensuite l'importer dans notre page PageTaches.vue:

Notre store pinia taches est maintenant visible dans Vue DevTools, uniquement dans la page Hello, même s'il est encore vide:

Ajout des tâches au magasin

Copier le tableau des tâches de la page PageTaches.vue dans le state du magasin store-taches.js :

Pour voir les modification dans Vue DevTools :

  1. Sauvegarder les modifications

  2. Recharger Vue DevTools en cliquant sur le bouton "Refresh"

  3. Cliquer sur l'état du magasin "tâches"

Les tâches sont maintenant visibles dans le magasin.

Affichage des tâches dans le magasin Vuex

Afficher les tâches du magasin

Notre page PageTaches.vue affiche ses propres tâches et non celles du magasin.

Liaision du store

Première chose, nous allons supprimer la ref taches de notre page PageTaches.vue et replacer l'objet dans le template par store.taches.

Résultat

  • PageTaches.vue

    • 56 : import du store

    • 5 : accès au store

Tests

Modifier le nom d'une tâche du magasin depuis Vue DevTools, et vous verrez que la modification sera automatiquement répercutée dans le getter taches et dans la la page PageTaches.vue .

Cependant, si vous terminez une tâche en cliquant dessus, vous obtiendrez une erreur dans la console, car un composant ne peut pas modifier directement une donnée d'un magasin.

Pou modifier une donnée du magasin, il faudra créer une mutation dans le magasin que le composant devra commiter via une action.

Mais avant de créer les mutations et actions, nous allons créer un composant Tache.vue qui regroupera le code d'une tâche.

Mis à jour

Ce contenu vous a-t-il été utile ?