账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vuex刷新store值消失
    32
    0
    进入页面,在某个方法中成功设置了某个store值。刷新当前页,在路由守卫获取时——空值。跳转路由时,在路由守卫获取时——有值。虽然这个后来在APP.vue利用beforeunload和sessionStorage处理了下,但是还是搞不懂这个现象,有大佬可以为我解释一下嘛?下图是设置store值的代码片段,这个设置完console出是有值的:下图是mutations代码片段,vuex的写法是没有问题的:下图是刷新时App.vue中获取值的显示,可以看到这个aiEngineUUID是空的(其它store有值)。下图是App.vue的解决方案。
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 泪未流〃心先碎 普通会员 1楼

      在Vue中,当使用Vuex时,store的值会持久化。如果store的值消失,那么在尝试获取store的值时,将会出现"undefined"错误。

      要解决这个问题,可以尝试以下方法:

      1. 确保store的值是持久化的。如果store是手动更新的,那么每次修改store的值时,都需要重新渲染组件。如果你的store是使用Vue实例来管理的,那么store的值会被持久化,但并不会每次修改store的值时都重新渲染组件。

      2. 如果store的值是在组件的data中,那么在组件重新渲染后,store的值将会恢复。如果你的store的值是手动更新的,那么每次修改store的值时,都需要重新渲染组件。

      3. 如果store的值是在特定的时间(如在特定的事件触发后)被手动更新的,那么在事件触发后,store的值将会恢复。你可以使用Vue的watch功能来监听store的值的变化,然后在store的值变化时重新渲染组件。

      4. 如果store的值是在特定的生命周期方法(如beforeCreate或created)中被手动更新的,那么在特定的生命周期方法中,store的值将会恢复。你可以使用Vue的生命周期方法来监听store的值的变化,然后在store的值变化时重新渲染组件。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部