Vue: ¿Cómo usar localStorage con vue?

Creado en 16 dic. 2015  ·  3Comentarios  ·  Fuente: vuejs/vue

Publiqué en el chat (dos veces), nadie respondió, así que espero poder obtener ayuda aquí.

Tengo un mixin isLoggedIn() que devuelve verdadero si el elemento está presente en localStorage y falso si no lo está.
Mi pregunta es, ¿cómo puedo volver a evaluar el estado cuando actualizo o elimino un elemento del almacenamiento local, porque solo se muestran algunos elementos si isLoggedIn es verdadero?

¿Y es correcto usar v-show="isLoggedIn()" o sugeriría algo más, no sé cuál es la mejor práctica para esto?

Gracias chicos.

Comentario más útil

El problema aquí es que localStorage no es reactivo, por lo que necesita algo que sea reactivo para desencadenar los cambios. Básicamente, usa un objeto para representar el estado de inicio de sesión, y cuando inicia sesión/cierra sesión, modificaría localStorage y ese objeto juntos (e inicializaría ese objeto leyendo desde localStorage en la carga de la aplicación).

Consulte http://vuejs.org/guide/application.html#State_Management
y https://auth0.com/blog/2015/11/13/build-an-app-with-vuejs/ que hace exactamente lo que intenta hacer.

Todos 3 comentarios

El problema aquí es que localStorage no es reactivo, por lo que necesita algo que sea reactivo para desencadenar los cambios. Básicamente, usa un objeto para representar el estado de inicio de sesión, y cuando inicia sesión/cierra sesión, modificaría localStorage y ese objeto juntos (e inicializaría ese objeto leyendo desde localStorage en la carga de la aplicación).

Consulte http://vuejs.org/guide/application.html#State_Management
y https://auth0.com/blog/2015/11/13/build-an-app-with-vuejs/ que hace exactamente lo que intenta hacer.

@ yyx990803 Gracias hombre, este artículo es exactamente lo que estoy tratando de hacer.

¿Cuál es el mejor lugar para verificar el almacenamiento local en la inicialización de la aplicación para ver si el usuario ya inició sesión desde una sesión anterior? En el tutorial al que se hace referencia, solo tienen una línea dentro del archivo de inicio / main.js antes de que se inicialice Vue. He hecho algo similar . ¿Es eso recomendable?

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

Jokcy picture Jokcy  ·  3Comentarios

franciscolourenco picture franciscolourenco  ·  3Comentarios

WolfgangFellger picture WolfgangFellger  ·  3Comentarios

aviggngyv picture aviggngyv  ·  3Comentarios

bdedardel picture bdedardel  ·  3Comentarios