亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

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

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

問題描述

在vuex中的mutations中定義的一個函數,在組件中調用

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

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

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

問題解答

回答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 } // 在這里調用了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’)

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 免费 视频 1级 | 黄短视频在线观看免费版 | 欧美一级在线全免费 | 99久久香蕉 | 黄色一及毛片 | 国产成人香蕉久久久久 | 亚洲最大黄色网址 | 日本一级特黄毛片免费视频 | 99精品国产一区二区三区 | 亚洲成a人片在线观 | 国产a级男女性高爱潮片 | 日本黄色二级片 | 久久永久免费视频 | 国产河南妇女毛片精品久久 | 国产一区二区播放 | 国产一区二区三区四区小蝌蚪 | 成人在色线视频在线观看免费大全 | 三级中文字幕永久在线视频 | 欧美区国产区 | 欧美黄色大全 | 91午夜影院 | 亚洲香蕉毛片久久网站老妇人 | 国内在线观看 | 免费一级黄色录像 | 国产欧美在线观看不卡 | 亚洲第一综合网站 | 骚婷婷| 青青青青在线成人视99 | 高清波多野结衣一区二区三区 | 国产成人精品777 | aabb片免费看 | 亚洲国产精品一区二区第一页 | 久久机热一这里只精品 | 日韩免费无砖专区2020狼 | 国产自在自线2021 | 男女啪啪免费体验区 | 久久精品国产6699国产精 | 久久亚洲美女久久久久 | 美女被免费网站视频九色 | 热99re久久精品天堂vr | 上海毛片 |