Vue.js-为什么我的子组件无法将存储获取方法作为属性访问?

问题描述 投票:0回答:1

我在商店中定义了一个吸气剂,并且尝试在子组件中访问它,但是我只能将其作为方法访问...

我阅读了文档,我们可以将其作为属性来访问,但是当我这样做时,它将返回给我getter函数的签名,这是我的代码:const store = {状态:{存储},吸气剂:{用户名:(状态,获取者)=> {返回'tmp';}}}

我的孩子部分:

export default {
    data() {
        return {
            username: this.initialUsername
        }
    },
    methods: {
        ...mapMutations([
            'login'
        ]),
        onLogin(e) {
            this.login(this.username);
        }
    },
    computed: {
        ...mapGetters({
            initialUsername: 'username'
        })
    },
    created() {
        console.log(this.username)
    }
}

我在控制台中得到的内容:

ƒ username(state, getters) {
      return 'tmp';
}

知道为什么吗?

谢谢;)

vue.js vuex getter
1个回答
0
投票

[好吧,我弄清楚了为什么它不起作用,大声笑,我只是没有实例化vuex存储,而只是实例化了包含我的状态和获取方法的普通对象...:

export default {
    state: {
        storage
    },
    getters: {
        username: (state, getters) => {
            return state.storage.username;
        }
    },
    mutations: {
        [LOGIN]: (state, username) => {
            state.storage.username = username;
        },
        [LOGOUT]: state => {
            state.storage.logout();
        }
    }
}

抱歉,我是第一次使用vuex'-'

© www.soinside.com 2019 - 2024. All rights reserved.