vuex中如何去创建不同store对象
时间: 2024-05-03 09:17:36 浏览: 128
在Vuex中,可以通过创建多个模块来实现创建不同的store对象。
首先,创建一个store实例,然后在store文件夹中创建多个模块文件,每个模块代表一个store对象。
例如,在一个名为store.js的文件中创建一个store实例:
```
import Vue from 'vue'
import Vuex from 'vuex'
import module1 from './modules/module1'
import module2 from './modules/module2'
Vue.use(Vuex)
export default new Vuex.Store({
modules: {
module1,
module2
}
})
```
然后在store文件夹中创建两个模块文件module1.js和module2.js,分别编写对应的state、mutations、actions、getters等:
```
// module1.js
const state = {}
const mutations = {}
const actions = {}
const getters = {}
export default {
state,
mutations,
actions,
getters
}
```
```
// module2.js
const state = {}
const mutations = {}
const actions = {}
const getters = {}
export default {
state,
mutations,
actions,
getters
}
```
最后,在Vue组件中使用不同的store对象,可以通过在组件中使用`mapState`、`mapMutations`、`mapActions`、`mapGetters`等方法来访问指定的store对象。
例如,在一个组件中使用module1的state:
```
import { mapState } from 'vuex'
export default {
computed: {
...mapState('module1', {
module1State: state => state.stateName
})
}
}
```
阅读全文