关于 increment & decrement
来源:2-9 Vuex基础用例(1)

慕小庄
2019-11-14
请问老师:
定义 state
const state = {
count: 1,
},
定义 mutations
const mutations = {
increment(state) {
state.count++
},
decrement(state) {
state.count--
}
},
定义 actions
const actions = {
increment:({commit}) => {
commit('increment');
},
decrement:({commit}) => {
commit('decrement');
}
}
第一: 变量 count 是老师您自己定义的还是vuex提供的?
第二:increment 和 decrement 是怎么来的?还是vuex提供的吗?
第三:const state 的 state 是否等于 increment 和 decrement中的state ?
第四:在const actions中 increment:({commit}) => { commit(‘increment’); },里面的两个commit是同一个参数吗?
1回答
-
你好,我来尝试回答一下,如果有错误,请纠正,第一个问题,那个count这个属性是自定义的,不是vuex定义的,第二个的increment和decrement也是自定义的,并非是vuex定义的,第三在老师定义state.count这个属性是等于 increment和decrement中的state的,在mutations中实际上是把state这个属性传递过来的,所以mutations才可以更改state中的属性,第四,在vuex中的commit是vue官方的一个api,它的作用是负责把actions中需要改变的属性传递给mutations,当然也是可以传参的,一般来说,在组件中通过事件函数把参数传递给actions,然后actions会接收这个参数,然后提交到mutations中,在mutations中可以通过state实现你所要更改的这个传递过来的参数,每一次你触发组件中的事件都会触发actions,然后每一次actions都会通过commit把需要更改的函数和参数传递到mutations中,然后在mutations中通过state来更改,如有不对,请指教
112019-11-15
相似问题