javascript - 将对象提交到 vuex 中的状态

标签 javascript ecmascript-6 vue.js axios vuex

我正在尝试通过 $store.commit('fetchFunction', response.data) 从 axios 响应获取对象。我需要computed App.vue(根组件)中的 out 将数组“全局”存储在 SPA 中 ( vue-router )。 这就是我得到的。

auth.js

axios.get('/api/to/userController/id')
    .then(response => {

    //this is a nice json
    console.log(response.data.data);
    app.$store.commit('userProfile', response.data.data)
    })
    .catch(error => {

    console.log(error);
    });

store.js

state: {
    userProfile: {}
},
mutations: {
    userProfile (state, payload) {
        state.userProfile = payload;
    }
},
getters: {
    userProfile: state => {

    //this is [__ob__: Observer] lenght: 0
    console.log(state.userProfile)}
    return state.userProfile;
}

App.vue

created() {

    //this is filled with the observer from store.js - Until reload page!
    //after reload page - it is null!
    console.log();
},
computed: {

    userProfile() {
        return this.$store.getters.UserProfile;
    }
}

我的实际问题是该对象将成为观察者并且 store如果我更改路线或重新加载页面,则不会存储它。 我之前有几乎相同的功能,只是用 truefalse (我用 JWT Token 处理身份验证的状态),它的工作方式就像一个魅力。 我的问题是以一种好的方式传递对象。

最佳答案

使用SessionStorage通过路线变化来跟踪变化。

关于javascript - 将对象提交到 vuex 中的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46770080/

相关文章:

javascript - 使用按钮 onclick 时不显示警报

javascript - 在 Vuex/Nuxt 中绑定(bind)选择表单

json - 如何过滤具有多个整数条件和键值的 JSON 对象数组

javascript - 当我更改屏幕尺寸时,我的 javascript 变量值出错

javascript - 如何更改 jquery ui 对话框的背景颜色

将对象设置为 null 时的 JavaScript(ES6) WeakMap 垃圾回收

javascript - 在 ES6 中以数字作为索引创建 HashMap 的最佳方法

vue.js - 在 Pinia 中使用 Socket.io 时出现问题

javascript - 如何同时使用 Require.js 和 Buster.js?

javascript - Promise.join() 内的条件