由于store会随着项目大起来的话,再写在同一个js里面的话,维护起来会非常困难,至少,会很头疼。
所以可以考虑这样部署
到src文件夹新建一个store文件夹,新建一个Index.js(模块名根据你的需要起)
const Index = {
state: {
active: 0,
communitieName: ''
},
mutations: { // 添加mutations
active (state, res) {
state.active = res
},
communitie (state, res) {
state.communitieName = res
}
}
}
export default Index
//需要用mutations里的方法就到需要使用的页面commit
this.$store.commit('communitie', res.data.defaultName)
//actions的就用
this.$store.dispatch('AcCommunitie',this.count)
//使用state数据就到该页面
watch:{
'$store.state.Index.communitieName':function(newVal,oldVak) {
this.communitieName= newVal
}
},
然后到src文件夹新建一个store.js文件(跟App.vue同级)引入模块
import Vue from 'vue'
import Vuex from 'vuex'
import Index from './store/Index'
Vue.use(Vuex)
export default new Vuex.Store({
modules: {
Index: Index
}
})
最后到main.js去挂载就OK了
import store from './store'
new Vue({
store,
el: '#app',
router,
components: { App },
template: '<App/>'
})