【问题标题】:How to keep alive Vue.Js components after routing from one page to another and back如何在从一个页面路由到另一个页面并返回后保持活动 Vue.Js 组件
【发布时间】:2022-01-12 13:32:44
【问题描述】:

我有两个名为 uploadSelfie.vue 和 takeSelfie.vue 的组件。

在 uploadSelfie.vue 组件中,我允许用户通过从图库中选择或通过按“打开相机”按钮捕获自拍照来上传 2 个文档、他/她的身份证复印件和自拍照。按下“打开相机”按钮后,浏览器会将用户引导到 takeSelfie.vue 页面,我在该页面中提供了基本代码,可以使用笔记本电脑摄像头/PC 网络摄像头或移动前置摄像头的前置摄像头单击自拍。然后,用户也可以下载点击的自拍。最后完成所有这些步骤后,我提供了一个按钮,将用户引导回 uploadSelfie.vue 页面。

现在“打开相机”按钮只会在用户首次上传他/她的身份证副本时出现在 DOM 中。现在的问题是当用户从takeSelfie.vue返回uploadSelfie.vue组件时,用户上传的身份证副本在这个过程中丢失了。但是我希望当用户在自拍后回来时上传的副本保持上传状态。

keep alive 标记不起作用。

我很抱歉没有分享任何代码,因为这样会让你们更容易理解我所面临的问题,但非常感谢一个小提示或方法。提前感谢您的帮助。

【问题讨论】:

    标签: vue.js routes vue-component keep-alive


    【解决方案1】:

    这就是发明Vuex 的基本原因:维护组件之间的状态。所以基本上,在“自拍”组件中,您会将上传的照片保存在商店中,当返回“上传自拍”组件时,您只需从商店获取身份证副本。

    【讨论】:

    • 好的,非常感谢。
    • 请注意,如果您只是维护几个小块状态,则不一定需要 vuex。您可以轻松地使用 Vue 对象上已经存在的数据存储,避免导入和学习一个全新的框架:vuejs.org/v2/guide/state-management.html。话虽如此,VueX 非常直观且易于学习!
    猜你喜欢
    • 2021-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多