首页 > 解决方案 > Vuejs缓存全局变量

问题描述

我像这样创建了一个全局变量main.js

Vue.prototype.$foo = []

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

有没有办法缓存这个$foo变量以在页面刷新时访问它?

标签: vue.js

解决方案


数据持久性可以通过Web Storage API(包括localStorage)或IndexedDB API来完成。localStorage可能是最简单的存储字符串值(例如,字符串化数组/对象)。

要恢复该值,请使用JSON.parse()localStorage值:

Vue.prototype.$foo = localStorage.foo
  ? JSON.parse(localStorage.foo)
  : {} /* default value */

要保存该值,请使用要存储的JSON.stringify()值:

localStorage.foo = JSON.stringify(/* new value */)

推荐阅读