av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

javascript - 請(qǐng)問(wèn)下面的函數(shù)寫法什么意思?

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

問(wèn)題描述

在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}); }}

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

問(wè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精品视频在线 | 欧美成人精品一区二区三区 | 日韩免费看片 | 亚洲在线免费 | 国产中文字幕一区二区 | 日本国产一区 | 国产一区2区 | 一级片网址 | 二区三区在线观看 | 美日韩一区 | 最新中文字幕在线 | 91丨九色丨国产在线 | 在线中文字幕网站 | 亚洲欧美日韩成人 | 欧美精品日韩少妇 | 天天操夜夜爽 | 日韩中文视频 | 亚洲欧美国产精品 | 国产精品123| 亚洲精品www久久久久久广东 | 午夜国产在线观看 | 国产乱码久久久久久 | 韩国av一区二区 | 中文亚洲字幕 | 黄色片在线免费观看 | 日本一级淫片 | 日本欧美久久久久免费播放网 | 国产盗摄一区二区 | 欧美日韩亚洲视频 | 国产综合亚洲精品一区二 | 中文字幕网址在线 | 青青草网站 | 三年中文在线观看免费大全中国 | 四虎视频 |