国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 請問下面的函數(shù)寫法什么意思?

瀏覽:133日期:2023-05-19 10:04:07

問題描述

在vuex中的mutations中定義的一個(gè)函數(shù),在組件中調(diào)用

//store.js在mutations中定義addCart:function (state,{goodIndex,foodIndex}) { state.goods[goodIndex].foods[foodIndex].count++; },

//組件中調(diào)用methods:{ ...mapMutations([’addCart’,’removeCart’,’setCart’]), addCartItem:function(){this.setCart({goodIndex:this.goodIndex,foodIndex:this.foodIndex}); }}

我的問題是為什么在調(diào)用setCart函數(shù)的時(shí)候不用傳入state參數(shù),目測如果調(diào)用的時(shí)候不傳state參數(shù)的話,addCart函數(shù)執(zhí)行的時(shí)候就會自動(dòng)將在store中的state傳入進(jìn)去,這樣的原理是什么??這是自己半個(gè)月前寫的代碼,現(xiàn)在看怎么也不理解了。。

問題解答

回答1:

去看看源碼就知道了。

export const mapMutations = normalizeNamespace((namespace, mutations) => { const res = {} normalizeMap(mutations).forEach(({ key, val }) => { val = namespace + val res[key] = function mappedMutation (...args) { if (namespace && !getModuleByNamespace(this.$store, ’mapMutations’, namespace)) {return } // 在這里調(diào)用了commit方法 return this.$store.commit.apply(this.$store, [val].concat(args)) } }) return res})

下面是commit方法的定義

this.commit = function boundCommit (type, payload, options) { // store 就是你想要的答案 return commit.call(store, type, payload, options)}回答2:

this.setCart()被映射為this.$store.commit(’setCart’)

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 99精品免费在线 | 牛人盗摄一区二区三区视频 | 黄色一级片网址 | 午夜综合 | 草草影院ccyy免费看片 | 亚洲第一成人天堂第一 | 国产成人看片免费视频观看 | 国产一区二区三区久久 | 久久国产精品免费看 | 中文字幕va一区二区三区 | 国产香蕉成人综合精品视频 | 国产成a人亚洲精v品久久网 | 免费看黄网 | 亚洲免费在线播放 | 在线久草| 久久久99精品免费观看精品 | 欧美深夜影院 | 欧美在线视频一区二区 | 求欧美精品网址 | 久久99精品久久久久久综合 | 免费手机黄色网址 | 亚洲国产一 | xxx国产hd | 曰韩美女一级视频 | 最新国产三级在线观看不卡 | 波多野结衣手机视频一区 | 特黄特黄一级高清免费大片 | 亚洲福利视频一区二区三区 | 一级毛片欧美大片 | 国产一区二区三区在线观看视频 | 亚洲91在线 | 最新版天堂资源中文官网 | 黄色美女毛片 | 久草在线视频新时代视频 | 毛片网站在线播放 | 欧美亚洲日本在线 | 久久精品成人免费看 | 手机看片免费基地 | 无圣光福利视频 | 国产精品欧美亚洲韩国日本 | 日本精品三级 |