我正在处理VueJS中的表单,希望用户能够在提交之前确认内容。
这涉及到从表单页面路由->确认页面。
但是,当我让用户返回时,上一页的状态是重置的。
有没有一种方法可以干净利落地保留上一页的状态,而不需要深入研究商店的状态?
还是说这种方法违背了Vue的原则?
之前尝试的方法是在移动到确认屏幕时保存表单的状态。
然后,当移回时,通过检查数据在创建时是否存在来恢复先前的状态,例如
onCreated() {
this.myFormData = this.$store.state.[myFormModuleName].formData ? this.$store.state.[myFormModuleName].formData : setSomeDefaultInstead();
}虽然这种方法很有效,但它感觉很粗糙,很难测试。
这可能因为过于宽泛而需要编辑,但是在Vue之间是否有一个“最佳实践”方法来维护页面之间的状态,就像你在Angular中所做的那样?或者插件是唯一的出路吗?
如上所述,我希望确保所使用的方法不会破坏表单的现有测试。
发布于 2019-08-23 21:48:04
如果没有完整的代码可用,我认为您最好的选择是在您的路由器视图周围添加一个<keep-alive>组件,请查看文档中的部分:https://vuejs.org/v2/api/#keep-alive
当您的组件再次被使用时,这应该会保留它的整个本地状态。
https://stackoverflow.com/questions/57627084
复制相似问题