recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment utiliser localStorage sur Vuejs3 ?

Je suis un peu confus au sujet de localStorage et de son utilisation. J'ai un composant Statistic.vue qui affiche le modal à la fin.

Statistique.vue

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<template>

 <p class='modal'>{{numberOfGames}}<p>

<template/>

 

<script>

export default {

    name: "GameStatistic",

    data() {

       return {

            numberOfGames: localStorage.getItem("NumberOfGames")

       }

    },

    mounted() {

        //this.$store.commit('checkNumberOfGames')

    },

}

</script>

index.js

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

export default createStore({

  state: {

    currentGuessIndex: 0,

    isWinner: false

  },

  mutations: {

    checkNumberOfGames(state) {

      if (localStorage.getItem("NumberOfGames") === null) {

          localStorage.setItem("NumberOfGames", 1)

      } else if (state.currentGuessIndex >= 6 || state.isWinner) {

          let counter = localStorage.getItem("NumberOfGames");

          localStorage.setItem("NumberOfGames", parseInt(counter)+1)

      }

    }

  },

  actions: {

  },

  modules: {

  }

})

WordRow.vue

1

2

3

4

5

6

7

8

// some stuff

watch: {

   submitted: {

      async handler(submitted) {

           //some stuff

           this.$store.commit('checkNumberOfGames')

   }

}

Mon problème est que le dans Statistic.vuenumberOfGames n'affiche pas le bon numéro, après avoir chargé la page, il affiche la valeur correcte sinon il laisse 1.

P粉418351692P粉418351692514 Il y a quelques jours848

répondre à tous(1)je répondrai

  • P粉709307865

    P粉7093078652023-11-01 12:51:46

    Je recommande d'utiliser la bibliothèque Vue Use. Il a un très bon module pour utiliser le stockage local avec VueX/Pinia dans Vue.js 3.

    https://view.org/core/useLocalStorage/

    répondre
    0
  • Annulerrépondre