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)文章:
主站蜘蛛池模板: 免费a在线 | 日韩免费一区二区 | 日韩在线精品 | 免费网站黄| 三级网站视频 | 日本色综合 | 免费看黄色的视频 | 91久久综合亚洲鲁鲁五月天 | 精品婷婷| 羞羞在线| 久久艹精品| 国产精品毛片va一区二区三区 | 精品久久久久久久久久久久久久 | 亚洲午夜精品 | 成年人免费看视频 | 长河落日| 伊人久久精品 | 欧美伊人久久 | 久久精品欧美一区二区 | 93久久精品日日躁夜夜躁欧美 | 又黄又爽又色视频 | 欧美黑人猛交 | 久热精品在线观看 | 欧美日韩一区二区三区视频 | 亚洲激情欧美激情 | 精品少妇v888av | www.婷婷| 久久久精彩视频 | 黄色免费网站在线观看 | 黄色免费av | 久久久久久久久久国产精品 | 天天久久综合 | 国产一区二区三区在线视频 | 在线国产小视频 | 99看片| 免费毛片在线播放 | av网址在线免费观看 | 天天操综合 | 国产精品久久久久久久久借妻 | 亚洲一区二区国产精品 | 国产午夜精品视频 |