五、上Demo
初始化项目就不讲了,根据文档一步一步生成就可以了
目录结构:

页面展示


模块化数据
首先在store里面创建modudel文件夹,分别创建homeDataStore.js和listDataStore.js,这两个模块就是分别存储对应页面的数据,以上页面展示可以看到我只在list页面写了数据,所以我们就把list页面座位例子来讲。
listDataStore.js代码展示
import axios from 'axios'
const listData = {
namespaced:true,//注意 模块化管理数据请不要忘了命名空间的开启
state:{
List:[],
count: 0,
compoentData:[],
number: 0 },
actions:{
getListData(context){
new Promise((resolve,reject)=>{
axios.get('../../../static/listData.json').then((res)=>{
context.commit('ListData',{'listDatas': res.data.listData})
})
})
},
handleAdd(context){
context.commit("handleAddState")
}
},
mutations:{
ListData(state, paylod){
state.List = paylod.listDatas
},
handleAddState(state){
state.number++;
}
},
getters: {
List: state => state.List,
count: state => state.count,
number: state => state.number
}
}
export default listData;
数据格式是一样的,每个页面都是这四大核心模块组成
store文件夹下面的index.js文件展示
//这个是总的store,抛出各个模块的store
import Vue from 'vue'
import Vuex from 'vuex'
import homeData from './moudel/homeDataStore'
import listData from './moudel/listDataStore'
Vue.use(Vuex)
const store = new Vuex.Store({
modules:{
homeData,
listData,
}})export default store;在这里引入各个模块的数据。
main.js文件展示
import Vue from 'vue'
import App from './App'
import router from './router'
import store from './store/index'
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
store,
render: h => h(App)
})引入store,将store注册到vue的实例上面,这样对应模块的数据基本格式是这样,接下来在看看页面中怎么调用的吧。
页面使用store数据 列表页展示
<template>
<div>
<router-link to='/'> 首页home</router-link><br/>










