使用 Vue JS 的 Vuex 中的模块化商店无法正常工作
Modular store in Vuex with Vue JS is not working
我正在使用 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
我该如何解决?如果我不使用模块化商店并将所有内容放在一个商店中,那么一切正常。但是我想要模块化的商店。
我觉得应该是this.$store.state.PersonalInfoFormStore.name
而不是
alert(this.$store.PersonalInfoFormStore.state.name)
进入
alert(this.$store.state.PersonalInfoFormStore.name)
我正在使用 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
我该如何解决?如果我不使用模块化商店并将所有内容放在一个商店中,那么一切正常。但是我想要模块化的商店。
我觉得应该是this.$store.state.PersonalInfoFormStore.name
而不是
alert(this.$store.PersonalInfoFormStore.state.name)
进入
alert(this.$store.state.PersonalInfoFormStore.name)