介绍
本文是学习vuex时做的笔记,所有笔记内容请看 vuex学习笔记
store
Vuex的应用核心为store。store为一个容器,包含着应用中的大部分状态。
Vuex和单纯的全局对象主要不同如下:
1、Vuex的状态存储是响应式的。当Vue组件从store中读取状态的时候,若store中的状态发生变化,则相应组件会相应的得到高效更新。
2、不能直接改变store中的状态。改变store中状态唯一途径就是显示提交(commit)mutation。这样可以方便地追踪每一个状态的变化。
安装好vuex,可以创建一个store,如下所示:
const store = new Vuex.Store({
state:{
count:0
},
mutations:{
increment(state){
state.count++;
}
}
})
如下,通过store.state 来获取状态对象,通过store.commit 方法触发转台变更:
store.commit('increment')
console.log(store.state.count)// ->1
通过提交mutation方式,而非直接改变store.state.count,这样可以更加明确的追踪到状态变化。可以让我们有机会实现一些能记录每次状态改变,保存状态快照的调试工具。
mport Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
const store = new Vuex.Store({
//state存放项目的初始值
state: {
count : 0
},
mutations:{
updateCount(state,num){
state.count = num
}
}
});
export default store;