相关疑难解决方法(0)

从Vuex中的一个模块更改另一个模块状态

我的vuex商店里有两个模块.

var store = new Vuex.Store({
    modules: {
        loading: loading 
        posts: posts
    }
});
Run Code Online (Sandbox Code Playgroud)

在该模块中loading,我有一个属性saving,其可以被设置truefalse也有一个名为变异函数TOGGLE_SAVING来设置该属性.

在模块中posts,在获取帖子之前和之后,我想要更改属性saving.我是通过调用模块commit('TOGGLE_SAVING')中的一个动作来完成的posts.

var getPosts = function (context) {
    contex.commit(TOGGLE_LOADING);
};
Run Code Online (Sandbox Code Playgroud)

当它尝试提交时,我在控制台中出现以下错误

[vuex] unknown local mutation type: TOGGLE_LOADING, global type: posts/TOGGLE_LOADING 
Run Code Online (Sandbox Code Playgroud)

如何在另一个模块中使用变异状态commit

vue.js vuex vuejs2

42
推荐指数
1
解决办法
2万
查看次数

注销时 vuex 为空状态

我的问题的快速故事:

  1. 页面加载时绝对没有数据存储在我的 vuex 状态中
  2. 如果用户已登录(或存储了信息window.localStorage并因此自动登录),我的 vuex 存储将从需要身份验证的套接字中检索所有信息。
  3. 然后用户注销,但我的 vuex 状态保存仍然保留其所有数据

这将是一个安全问题,因为在公共 PC 上未登录的人(或黑客)可以查看用户注销前的状态。

我看过如何清除 vuex 商店中的状态? 但我觉得这是一种黑客行为,应该避免。

我目前的解决方案只是使用刷新页面 location.reload();

有没有更好的方法来防止这种数据泄漏?

javascript security vue.js vuex

7
推荐指数
1
解决办法
9550
查看次数

标签 统计

vue.js ×2

vuex ×2

javascript ×1

security ×1

vuejs2 ×1