Vuex状态布尔值属性显示未定义

时间:2020-07-20 12:48:18

标签: vue.js vuex state-management

我有一个布尔状态属性,但显示的是未定义状态?

export default {
    state: {
        userStateChanged: false,
...

在获取数据时,我已经在此state属性上执行了console.log并且控制台显示了未定义

        async FETCH_ALL_USERS(context, page) {

            console.log('state changed?', this.state.userStateChanged);

            if (this.state.userStateChanged === false) {
                return this.state.users;
            } else {
                console.log('return new set');
                const user  = await axios.get("/api/user?page=" + page);
                context.commit('SET_ALL_USERS', user.data);
            }
        },

2 个答案:

答案 0 :(得分:2)

您应该通过context访问存储状态。

async FETCH_ALL_USERS(context, page) {

            console.log('state changed?', context.state.userStateChanged);

            if (context.state.userStateChanged === false) {
                return context.state.users;
            } else {
                console.log('return new set');
                const user  = await axios.get("/api/user?page=" + page);
                context.commit('SET_ALL_USERS', user.data);
            }
        },

答案 1 :(得分:0)

在访问状态之前,您首先必须访问商店。 因此,不用console.log('state changed?', this.state.userStateChanged); console.log('state changed?', this.$store.state.userStateChanged);