不明白obj为什么是num

不明白obj为什么是num

export default new Vuex.Store({
	state: {
	    count: 0,
	    num: 1
	},
	mutations: {
	    increment (state, num) {
	      state.count++
	      state.num = num;
	    }
	},
	actions: {
	    inc ({ commit }, obj) {
	      	commit('increment', obj)
	      	为什么这个obj就是num,为什么要'increment'这样写,这样写,不是字符串吗
	    }
	}
})


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕嘟嘟 2019-07-30 16:31:41

同学你好,

http://img1.sycdn.imooc.com//climg/5d40002500010cb007200146.jpg

这个函数中写的是inc,就与actions中的inc对应上了,所以调用这个方法的时候就调用了actions中的函数。

http://img1.sycdn.imooc.com//climg/5d40004a0001770a05570174.jpg

① 因为vuex中actions就是要调用mutations中的函数,所以inc中的commit(‘increment’,obj)就是一个函数调用,因此‘increment’和obj就是函数调用的时候传入的两个实参。

② ‘increment’对应mutations中的increment函数。这样用引号包裹函数的方式是vue语法规定的‘increment‘表示的就是mutations中的函数名而不是字符串。

③ 因为obj对应mutations中increment函数的另一个形参,对应的是num。 所以obj就是num。

如果还有疑惑,可以在问答区再次提问,我们会继续为你解答的.

如果我的回答帮助了你欢迎采纳,祝学习愉快~

 


  • 老师你不觉得写obj是在误导吗,也没有人说num就是那个参数,还刚好用obj来表示,要不是看到结果真的会被误导
    2019-07-31 15:15:04
  • 同学你好,你说的对哦像这种关键字,使用的时候是需要说明一下的,相信我们很多学习的小伙伴看见了你提出的这一点后,也就不会那么疑惑了呢~
    2019-07-31 17:18:07
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师