index
state 存放状态
mutations state成员操作
getters 加工state成员给外界
actions 异步操作
modules 模块化状态管理
mutations与actions的区别:
主要的区别在于mutations 只能是同步操作,action 可以包含异步操作,而且可以通过 action 来提交 mutations
mutations 有一个固有参数 state,接收的是 Vuex 中的 state 对象
action 也有一个固有参数 context,但是 context 是 state 的父级,包含 state、getters
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment (state) {
state.count++
}
},
actions: {
increment (context) { //官方给出的指定对象, 此处context可以理解为store对象
context.commit('increment');
}
}
})
关于vuex的坑:
store与router相当于两个工具,components与views相当于vue实例(main.js引入了store router这两个工具,所以直接可以在views中用this.
s
t
o
r
e
.
c
o
m
m
i
t
)
,
但
如
果
在
r
o
u
t
e
r
要
使
用
t
h
i
s
.
store.commit),但如果在router要使用 this.
store.commit),但如果在router要使用this.store.commit,就要单独引入import store…