2017-09-01 1 views
0

Je voudrais enregistrer l'utilisateur authentifié localStorage et les charger dans vuex la charge suivante de la page:vuejs créé crochet: fenêtre/localStorage n'est pas défini

created() { 
    let user = window.localStorage.getItem('user') 
    if(user) { 
     this.setUser(JSON.parse(user)) 
    } 
} 

Je pensais que le crochet créé dans mon élément racine serait le bon endroit pour cela. Malheureusement, je reçois la «fenêtre n'est pas définie».

Cela fonctionne quand je l'ai mis dans le crochet monté à la place. Malheureusement c'est trop tard et montre la page de connexion pour quelques ms.

Où devrais-je mettre cette logique?

Répondre

1

Je voudrais essayer d'abord supprimer la fenêtre, parce que vous n'avez pas besoin d'écrire que let user = localStorage.getItem('user')

Si cela ne suffit pas il suffit d'utiliser ce plugin vuex https://github.com/robinvdvleuten/vuex-persistedstate il fait exactement ce que vous voulez avec zéro config. Si vous voulez qu'une seule valeur soit conservée, vous pouvez définir ceci comme chemin dans la configuration du plugin.

+0

merci pour l'indice sur vuex-persistedstate! – Chris