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

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

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

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

問題描述

在vuex中的mutations中定義的一個函數(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ù)的時候不用傳入state參數(shù),目測如果調(diào)用的時候不傳state參數(shù)的話,addCart函數(shù)執(zhí)行的時候就會自動將在store中的state傳入進去,這樣的原理是什么??這是自己半個月前寫的代碼,現(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)文章:
主站蜘蛛池模板: 香蕉久久夜色精品国产尤物 | 成人黄色三级 | 国产精品日韩欧美在线 | 日韩a无吗一区二区三区 | 偷拍自拍第一页 | 亚洲精品视频免费 | 国产高清精品毛片基地 | 亚洲精品一区二区在线播放 | 欧美一区二区三区不卡免费观看 | 99免费视频观看 | 国产日韩欧美一区二区三区在线 | 一色屋色费精品视频在线观看 | 久久爱www成人 | 久久99视频精品 | 一区二区三区国产精品 | 国产一级做a爱片久久毛片a | 美国一级做a一级视频 | 91免费版网站 | 蜜桃88av| 九九精品国产兔费观看久久 | 欧美国产大片 | 欧美人成毛片在线播放 | 俄罗斯极品美女毛片免费播放 | 欧美成人中文字幕 | 美女毛片免费看 | 成人毛片国产a | 亚洲一区不卡 | 亚洲国产高清视频 | 中文字幕毛片 | 免费亚洲成人 | 999久久久精品视频在线观看 | 91不卡在线精品国产 | 飘花国产午夜精品不卡 | 国产三级日产三级日本三级 | 韩国理伦一级毛片 | 18女人毛片大全 | 日本肥老妇色xxxxx日本老妇 | 国产在线精品一区免费香蕉 | 国产精品亚洲一区在线播放 | 日韩中文字幕在线免费观看 | 日韩精品在线一区 |