官网上说Vuex是状态管理,到底是什么是状态管理,什么时候使用,其实也就是数据的管理,包括我们从服务器端获取的数据,以及在界面上操作的数据。简单的说来说就是:
state:存储数据
action:分发事件
mutation:提交改变
getters:获取数据,
下载vuex:
运行命令 npm install vuex --save-dev
在main.js 中使用:
import store from './store/store'
new Vue({
el:'#app',
router,
store,
MintUI,
template:'',
components: { App }
})
将store挂载到vue上
在store.js中:
importVue from'vue';
importVuex from'vuex';
import book from './modules/audioBook';
Vue.use(Vuex); //使用vuex
export default newVuex.Store({
modules:{
book
}
})
使用axios从服务器获取数据
在src文件夹下新建一个fetch文件夹,用来封装请求方法
在fetch文件夹下新建一个js文件,
在store文件夹下新建type.js文件,
export const GET_BASE_API = "GET_BASE_API";
作为提交类型
在store文件夹下新建modules文件夹,在文件夹下新建audioBook.js文件,
mutation :
怎么使用:
我们需要在需要使用到这个数据的Vue组件中进行调用:
在<template>中使用,中使用
<p>这里是{{this.getBookList.book[0].dataTitle}}</p>,
所以整个过程是 vue组件中create分发事件,进入action,action获取数据后通过mutation提交改变,从computed中取出数据。