Vue js 2 *私下*保存组件的数据

Posted

技术标签:

【中文标题】Vue js 2 *私下*保存组件的数据【英文标题】:Vue js 2 Persist a component's data *privately* 【发布时间】:2017-12-14 04:13:22 【问题描述】:

我目前有一个 Vue.js 2 SPA,它使用 Vuex 进行组件间通信,并使用 Vuex 持久化状态来持久化我的共享状态。

但是,我想保留组件的本地 私有数据。

我尝试了 vue-persist 包,它可以很好地保存组件数据,但是,变量没有命名空间,因此在 所有 组件实例之间共享。我想分别持久化每个组件的数据。

有谁知道我如何在我的 Vue.js 2.x 应用程序中实现这两件事?

1) 我的本地数据的持久性(因此它在浏览器刷新后仍然存在)。 2) 持久化的数据与其他组件共享(也许每个组件实例都有名称空间?)。

谢谢!

【问题讨论】:

我使用这种方法并保存到 sessionStore:***.com/questions/43027499/vuex-state-on-page-refresh 【参考方案1】:

我不熟悉vue-persist,但看起来您可以将商店名称作为第二个参数传递给$persist。为组件实例选择一个唯一的商店名称(这将因组件而异)。

例如

created() 
  this.$persist(['foo'], 'my-comp:' + this.id);

【讨论】:

这很好用,忽略我以前愚蠢的尝试让它工作 - 我只是以一种荒谬的方式传递我的唯一 ID。谢谢你。

以上是关于Vue js 2 *私下*保存组件的数据的主要内容,如果未能解决你的问题,请参考以下文章

Vue.js 基础2

Vue.js 基础2

如何调用具有不同数据属性的组件? (vue.js 2)

将一串数据从父组件传递给子组件。 Vue.js 2

如何在 Vue.js 中传递 $router.push 中的数据?

当我在 Vue JS 中按下父组件上的按钮时如何刷新子组件?