关于 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回答

qq_慕姐8203528

2019-11-15

你好,我来尝试回答一下,如果有错误,请纠正,第一个问题,那个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来更改,如有不对,请指教

1
1
慕小庄
非常感谢!
2019-11-15
共1条回复

Vue全家桶+SSR+Koa2全栈开发美团网

整合大前端8项技术,全面晋级全栈工程师,毕设/面试作品

2445 学习 · 1638 问题

查看课程