vuex是状态管理工具,更适合集成在vue项目中,主要作用及意义有两点:
1、数据集中管理。
2、数据共享。
vuex里面有四个API:
1、state:
state是专门存放数据的数据仓库。当然,一般存放的都是公共数据,也就是多处组件内使用的数据。
const state = {
goodlist:[1,5,4,7,8,9,8,6,8,9]
}
2、mutations:
mutations是同步操作,是修改state仓库里面数据的唯一方法。
const mutations = {
changeGood(state,parms){
state.goodlist.splice(2,4,params)
}
}
3、actions:
actions是处理异步操作的,是提交mutations里面的方法的,通过commit进行提交。
const actions = {
changeGood({commit})
commit('changeGood',params)
}
4、getters:
getters是vuex状态管理工具里面的计算属性,相当于组件内的computed计算属性,换句话说,getters就是对vuex中state仓库里面数据进行深层次(二次)加工,返回加工后的数据,
而不会影响state仓库本身的数据,这样就保证了源数据的统一性,又能获取到组件内需要的数据。
const getters = {
filterGoodList:(state)=>{return state.goodList.filter(item=>item%2 == 0)}
}
最后:
import Vuex from 'vuex';
Vue.use(Vuex);
const store = new Vuex.Store({
state,
mutations,
actions,
getters
})
export default store;