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