【问题标题】:How to reset / not preserve state for some properties in vuex store after redirection (ssr)?重定向(ssr)后如何重置/不保留vuex存储中某些属性的状态?
【发布时间】:2020-09-14 00:44:32
【问题描述】:

我们正在使用服务器端渲染,并为我们所有的 vuex 模块使用preserveState,以在从一个页面导航到下一个页面时保持状态。

但是,我们有一个特定的商店,我们不想在其中保留 一些 属性。有没有办法在 Vuex 商店中实现这一点?例如

@Module({ namespaced: true, dynamic: true, store, name, preserveState: true })
class SampleModule extends VuexModule {
      propertyOne: {}; // we want to persist this
      propertyTwo: {}; // we want to persist this
      propertyThree: {}; // we DO NOT want to persist this
      propertyThree: {}; // we DO NOT want to persist this
}

目前我们能想到的唯一方法是为那些我们不想保留的属性创建一个单独的商店。但这并不理想,因为这些属性非常相关,唯一的区别是我们是否要持久化它们。

有没有更好的办法?

【问题讨论】:

    标签: javascript vue.js vuex vuex-modules


    【解决方案1】:

    是的,在我最近的项目中处理它的当前方式是创建一个操作,该操作采用有效负载,每当我重定向到另一个页面时,该有效负载将用于将状态变回其默认值..通常我会建议你当您重定向到另一个页面时,在卸载组件的销毁生命周期钩子中调用此类操作。我知道的另一种方法是使用 vuex subscribe 方法... https://vuex.vuejs.org/api/#subscribe。这可能看起来像是过度杀戮,但它也可以根据您的需要工作。 如果明天有时间,我可能会附上一些代码示例供您查看.. 抱歉,现在是凌晨 3 点,我要睡觉了....ciao

    【讨论】:

      猜你喜欢
      • 2018-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-26
      • 2021-07-22
      相关资源
      最近更新 更多