亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

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

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

瀏覽:163日期: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函數執行的時候就會自動將在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
相關文章:
主站蜘蛛池模板: 成人影院欧美大片免费看 | 日日爽夜夜操 | 特级做a爰片毛片免费看一区 | 欧美视频一二三区 | 黄色毛片免费在线观看 | 毛片久久 | 日韩精品中文字幕在线 | 国产深夜福利视频网站在线观看 | 亚洲欧美另类自拍第一页 | 欧美综合成人 | 99久久免费看精品国产一区 | 精品日韩在线 | 中文字幕天堂最新版在线网 | 亚洲天堂久久久 | 国产91网址 | 精品国产精品国产 | 久青草国产手机在线观 | 国产成人麻豆tv在线观看 | 久久艹在线 | 泷泽萝拉亚洲精品中文字幕 | 全部在线美女网站免费观看 | 欧美专区一区二区三区 | 亚洲精品国产第一区二区多人 | 国产最爽的乱淫视频国语对 | 久久综合久久自在自线精品自 | 欧美一级大片免费看 | 97在线视频免费观看费观看 | 在线欧美不卡 | 各种偷拍盗摄视频在线观看 | 青青自拍视频一区二区三区 | 精品色综合 | 毛片视频网站 | 国产美女动态免费视频 | 久久九九色 | 久久一本精品 | 网站午夜 | 国产理论视频在线观看 | 亚洲人成综合在线播放 | 午夜影院美女 | 日韩在线观看一区二区三区 | 国产一级片网址 |