Estoy tratando de guardar y leer varios objetos json desde mi aplicación vue con el paquete vue-cookie (Versión 1.1.4). El fragmento a continuación funciona muy bien y el objeto json se guarda y recupera como se esperaba.
Sin embargo, noté que tan pronto como los datos se recuperan a través de cookies y quiero cambiar los datos dentro del objeto en la página web, el método de ciclo de vida "actualizado" no se activará. Este comportamiento es realmente incómodo ya que solo estoy agregando el método cookieToJson() al método beforMount(). El depurador de Vue también muestra que el valor ha cambiado. Creo que los datos ya no son reactivos, pero ¿cómo puedo solucionar esto?
data () { return { json: { a: 0, b: 1, }, } }, methods: { jsonToCookie(name) { const data = "{\"" + name + "\": " + JSON.stringify(this[name])+"}"; this.$cookie.set(name, data, { expires: '1M' }, '/app'); }, cookieToJson(name) { const data = JSON.parse(this.$cookie.get(name)); if(data==null) return for(var i = 0; i < Object.keys(data).length; i++) { var name = Object.keys(data)[i] this[name] = data[name]; } }, beforeMount() { console.log("beforeMount") this.cookieToJson("json") }, updated() { console.log("updated") this.jsonToCookie("json") }, }En caso de que alguien tenga un problema similar, ahora estoy usando localStorage.