摘要:原文鏈接我的,歡迎。今天分享的一篇文章是關(guān)于的源碼解析的,鏈接源碼解析,在現(xiàn)在所做的項(xiàng)目里的每個(gè)組件,至少都有一個(gè)輔助函數(shù),或者是,或者是擴(kuò)展運(yùn)算符,以及解構(gòu)也經(jīng)常用到。大概以前看源碼的時(shí)候,沒(méi)怎么仔細(xì)想過(guò)把。
原文鏈接我的blog,歡迎STAR。
今天分享的一篇文章是關(guān)于vuex的源碼解析的,鏈接vuex源碼解析,在現(xiàn)在所做的項(xiàng)目里的每個(gè)組件,至少都有一個(gè)輔助函數(shù),或者是....mapGetters,或者是...mapActions, 擴(kuò)展運(yùn)算符,以及解構(gòu)也經(jīng)常用到。這篇文章解決了困擾我許久的一個(gè)疑惑,為什么有時(shí)候輔助函數(shù)里面?zhèn)鞯氖且粋€(gè)字符串?dāng)?shù)組,而有的時(shí)候傳的是一個(gè)對(duì)象。大概以前看源碼的時(shí)候,沒(méi)怎么仔細(xì)想過(guò)把。
其實(shí)很簡(jiǎn)單,vuex底層對(duì)傳入輔助函數(shù)的參數(shù)都進(jìn)行了一個(gè)轉(zhuǎn)化處理,來(lái)看源碼(以mapState為例):
export function mapState (states) { const res = {} normalizeMap(states).forEach(({ key, val }) => { res[key] = function mappedState () { return typeof val === "function" ? val.call(this,this.$store.state,this.$store.getters) : this.$store.state[val] } }) return res }
mapState,對(duì)傳入的參數(shù)首先調(diào)用normalizeMap方法,來(lái)看normalizeMap的源碼:
function normalizeMap (map) { return Array.isArray(map) ? map.map(key => ({ key, val: key })) : Object.keys(map).map(key => ({ key, val: map[key] })) }
對(duì)傳入的參數(shù)先判斷是不是數(shù)組,如果是數(shù)組調(diào)用數(shù)組的map方法,轉(zhuǎn)化為{key, val: key} 對(duì)象的形式,如果不是數(shù)組, (那就是對(duì)象),便利對(duì)象的key 轉(zhuǎn)化為{key, val: map[key]}對(duì)象的形式。
最后返回。
今天還學(xué)到了一點(diǎn),在項(xiàng)目里通常需要取到表單的值, 我一般是這么做的:
const { userName, password, checked } = this.form
發(fā)現(xiàn)原來(lái)可以給變量一個(gè)初始值
const { userName, password, checked = [] } = this.form
在學(xué)習(xí)es6 時(shí),只知道能夠給函數(shù)的參數(shù)給默認(rèn)值,類(lèi)似于下面:
function name (a, b = [], c = {}) { // 其他代碼 }
完。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/111833.html
摘要:原文鏈接我的,歡迎。這次想要分享的一篇文章是從一個(gè)奇怪的錯(cuò)誤出發(fā)理解的基本概念。瞬間明白了,原來(lái)是函數(shù),一個(gè)考驗(yàn)編程能力的函數(shù),比更接近編譯器。來(lái)看這里有一個(gè)小知識(shí)點(diǎn)被忽略在實(shí)例掛載之后,元素可以用訪問(wèn)腦補(bǔ)會(huì)用到的場(chǎng)景中。。。 原文鏈接我的blog,歡迎STAR。 這次想要分享的一篇文章是:從一個(gè)奇怪的錯(cuò)誤出發(fā)理解Vue的基本概念。 這篇文章以Vue的兩種構(gòu)建方式做為切入點(diǎn),深入探討...
摘要:五六月份推薦集合查看最新的請(qǐng)點(diǎn)擊集前端最近很火的框架資源定時(shí)更新,歡迎一下。蘇幕遮燎沈香宋周邦彥燎沈香,消溽暑。鳥(niǎo)雀呼晴,侵曉窺檐語(yǔ)。葉上初陽(yáng)乾宿雨,水面清圓,一一風(fēng)荷舉。家住吳門(mén),久作長(zhǎng)安旅。五月漁郎相憶否。小楫輕舟,夢(mèng)入芙蓉浦。 五、六月份推薦集合 查看github最新的Vue weekly;請(qǐng)::點(diǎn)擊::集web前端最近很火的vue2框架資源;定時(shí)更新,歡迎 Star 一下。 蘇...
摘要:五六月份推薦集合查看最新的請(qǐng)點(diǎn)擊集前端最近很火的框架資源定時(shí)更新,歡迎一下。蘇幕遮燎沈香宋周邦彥燎沈香,消溽暑。鳥(niǎo)雀呼晴,侵曉窺檐語(yǔ)。葉上初陽(yáng)乾宿雨,水面清圓,一一風(fēng)荷舉。家住吳門(mén),久作長(zhǎng)安旅。五月漁郎相憶否。小楫輕舟,夢(mèng)入芙蓉浦。 五、六月份推薦集合 查看github最新的Vue weekly;請(qǐng)::點(diǎn)擊::集web前端最近很火的vue2框架資源;定時(shí)更新,歡迎 Star 一下。 蘇...
摘要:本篇文章主要是我在開(kāi)發(fā)前研究了的單頁(yè)面應(yīng)用,因?yàn)樾枰玫降模源_保安裝了,建議官網(wǎng)安裝最新的穩(wěn)定版本。本文章只是和大家探討怎么利用配合做一個(gè)單頁(yè)面應(yīng)用,具體關(guān)于里面的內(nèi)容怎么寫(xiě)并不在本篇文章的介紹范圍。 本篇文章主要是我在開(kāi)發(fā)前研究了webpack+vue.js的單頁(yè)面應(yīng)用,因?yàn)樾枰玫絥ode的npm,所以確保安裝了node,建議官網(wǎng)安裝最新的穩(wěn)定版本。并且在項(xiàng)目中需要加載一些np...
閱讀 1819·2021-11-24 09:39
閱讀 2297·2021-09-30 09:47
閱讀 4166·2021-09-22 15:57
閱讀 1886·2019-08-29 18:36
閱讀 3586·2019-08-29 12:21
閱讀 598·2019-08-29 12:17
閱讀 1273·2019-08-29 11:25
閱讀 732·2019-08-28 18:26