如何解决重定向ssr后如何在vuex存储中重置/不保留某些属性的状态?
我们正在使用服务器端渲染,并且在所有vuex模块中使用preserveState
来在从一页导航到下一页时保持状态。
但是,我们有一个特定的商店,我们不想保留 some 属性。在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
}
我们目前唯一想到的方法是为那些我们不想保留的属性创建一个单独的存储。但这不是理想的,因为这些属性非常相关,唯一的区别是我们是否要保留它们。
有更好的方法吗?
解决方法
是的,当前在我最近的项目中处理它的方式是创建一个动作,该动作将带有一个有效载荷,每当我重定向到另一页时,该有效载荷将用于将状态更改回其默认值。通常,我建议您当您重定向到另一个页面时,在卸载的组件的destroy life cycle挂钩内调用了此类操作。我知道的另一种方法是使用vuex订阅方法... https://vuex.vuejs.org/api/#subscribe。这似乎是一个过度杀戮,但它也可以根据您的需要工作。 如果明天有时间,我可能会附上一些代码示例供您查看..抱歉,现在是凌晨3点,我要睡觉了.... ciao
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。