vue源碼中的檢測(cè)方法的實(shí)現(xiàn)
判斷是否為undefined或null
const isDef = (v) => { return v !== undefined && v !== null }
判斷是否為Promise 函數(shù)
const isPromise = (val) => { return ( val !== undefine && typeof val.then === 'function' && typeof val.catch === 'function' ) }
判斷是否為簡(jiǎn)單數(shù)據(jù)類(lèi)型
const isPrimitive (value) => { return ( typeof value === 'string' || typeof value === 'number' || typeof value === 'symbol' || typeof value === 'boolean' ) }
嚴(yán)格檢查復(fù)雜數(shù)據(jù)類(lèi)型
const isPlainObject = (obj) => { return Object.prototype.toString.call(obj) === '[object Object]' } const isRegExp = (v) => { return Object.prototype.toString.call(v) === '[object RegExp]' }
將駝峰字符串轉(zhuǎn)成連接符 magicEightTall 轉(zhuǎn)換成 magic-eight-tall
const hyphenateRE = /\B([A-Z])/g const hyphenate = (str) => { return str.replace(hyphenateRE, '-$1').toLowerCase() }
將連接符轉(zhuǎn)成駝峰字符串 magic-eight-tall 轉(zhuǎn)換成 magicEightTall
const camelizeRE = /-(\w)/g const camelize = (str) => { return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '') }
如果不想重復(fù)轉(zhuǎn)換,可用以下方法調(diào)用轉(zhuǎn)換函數(shù)
const cached = (fn) => { const cache = Object.create(null) console.log(cache); return ((str) => { const hit = cache[str] return hit || (cache[str] = fn(str)) }) };
例
const camelize = cached((str) => { return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '') })
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 在Vue項(xiàng)目中取消ESLint代碼檢測(cè)的步驟講解
- vue檢測(cè)對(duì)象和數(shù)組的變化分析
- Vue不能檢測(cè)到Object/Array更新的情況的解決
- 關(guān)于vue的語(yǔ)法規(guī)則檢測(cè)報(bào)錯(cuò)問(wèn)題的解決
- 去掉vue 中的代碼規(guī)范檢測(cè)兩種方法(Eslint驗(yàn)證)
- 解決Vue不能檢測(cè)數(shù)組或?qū)ο笞儎?dòng)的問(wèn)題
- vue將對(duì)象新增的屬性添加到檢測(cè)序列的方法
- 關(guān)于vue中watch檢測(cè)到不到對(duì)象屬性的變化的解決方法
- vue中遇到的坑之變化檢測(cè)問(wèn)題(數(shù)組相關(guān))
- Vue.js中數(shù)組變動(dòng)的檢測(cè)詳解
相關(guān)文章
vue+element使用動(dòng)態(tài)加載路由方式實(shí)現(xiàn)三級(jí)菜單頁(yè)面顯示的操作
這篇文章主要介紹了vue+element使用動(dòng)態(tài)加載路由方式實(shí)現(xiàn)三級(jí)菜單頁(yè)面顯示的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08vue通過(guò)數(shù)據(jù)過(guò)濾實(shí)現(xiàn)表格合并
這篇文章主要為大家詳細(xì)介紹了vue通過(guò)數(shù)據(jù)過(guò)濾實(shí)現(xiàn)表格合并,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07VUE+jszip如何實(shí)現(xiàn)下載多個(gè)文件導(dǎo)出為一個(gè)zip格式
這篇文章主要介紹了VUE+jszip如何實(shí)現(xiàn)下載多個(gè)文件導(dǎo)出為一個(gè)zip格式方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03vue啟動(dòng)后請(qǐng)求后端接口報(bào)ERR_EMPTY_RESPONSE錯(cuò)誤的解決
這篇文章主要介紹了vue啟動(dòng)后請(qǐng)求后端接口報(bào)ERR_EMPTY_RESPONSE錯(cuò)誤的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05axios如何取消重復(fù)無(wú)用的請(qǐng)求詳解
這篇文章主要給大家介紹了關(guān)于axios如何取消重復(fù)無(wú)用的請(qǐng)求的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用axios具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12VUE實(shí)現(xiàn)一個(gè)分頁(yè)組件的示例
本篇文章主要介紹了VUE實(shí)現(xiàn)一個(gè)分頁(yè)組件的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09