0

我正在使用 Vue + Vuex 开发一个 Web 应用程序。我是 Vue 的新手。我现在正在做的是尝试将 Vuex 集成到我的 Vue 应用程序中。但是当我使用模块化的 Vuex 时,它不起作用。

这是我的名为 PersonalInfoFormStore.js 的商店文件

export default {
    namespaced : true,
    state : {
        name : 'this is my name'
    }
}

然后在 app.js 中,我这样设置了 Vuex 商店

import Vuex from 'vuex';

import PersonalInfoFormStore from './PersonalInfoFormStore';

//other packages


Vue.component("application-form", require('./components/PersonalInfoForm.vue'));

Vue.use(Vuex);

const store = new Vuex.Store({
    modules : {
        PersonalInfoFormStore
    }
});

const app = new Vue({
    el: '#app',
    //other bit of code
    store: store
});

然后在 PersonalInfoForm.vue 中,我尝试像这样访问状态值。

mounted() {

        alert(this.$store.PersonalInfoFormStore.state.name)
        //alert(this.$store.getters.count)
    }

然后在控制台中,我得到了这个错误

app.js:664 [Vue warn]: Error in mounted hook: "TypeError: Cannot read property 'state' of undefined"

found in

我该如何解决?如果我不使用模块化商店并将所有内容放在一个商店中,那么一切正常。但我想要模块化商店。

4

2 回答 2

2

我认为应该this.$store.state.PersonalInfoFormStore.name改为

于 2018-10-12T09:40:20.363 回答
2
alert(this.$store.PersonalInfoFormStore.state.name)

进入

alert(this.$store.state.PersonalInfoFormStore.name)
于 2018-10-12T09:40:27.357 回答