¿Cómo guardo un hashmap en el almacenamiento local usando Vue?
A continuación se muestra lo que tengo en este momento.
Básicamente, elimina un elemento de this.summaries y justo después de eso, localStorage.summaries para que sea this.summaries .
Supongo que localStorage.summaries no se guardan como hashmaps como pretendía. ¿Cómo puedo hacer eso?
... mounted() { if (localStorage.summaries) { this.summaries = localStorage.summaries; } }, ... deleteRow(symbol) { delete this.summaries[symbol] localStorage.summaries = this.summaries }, ... <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> ... <tbody> <tr v-for="symbol in newSummaries" :key="symbol"> ... <td class="border border-green-600"><button v-on:click="addRow(symbol['ticker_symbol'])">ADD</button></td> </tr> </tbody> ...De acuerdo con ( doc ), el valor de almacenamiento es un DOMString, y
corresponde exactamente al tipo de cadena primitiva de JavaScript
Entonces, si desea guardar un mapa hash, conviértalo en cadena con JSON.stringify y setItem, y cuando obtenga el elemento, vuelva a analizarlo en hashmap con JSON.parse
// set localStorage.setItem('summaries', JSON.stringify(this.summaries)) // get this.summaries = JSON.parse(localStorage.getItem('summaries'))