Vue中util的工具函數(shù)實(shí)例詳解
Vue中util的工具函數(shù),下面通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具體代碼如下所示:
// 防抖函數(shù) function debounce (fn, wait) { let t return () => { let context = this let args = arguments if (t) clearTimeout(t) t = setTimeout(() => { fn.apply(context, args) }, wait) } } function flatten (arr) { // 數(shù)組扁平化 return arr.reduce((result, item) => { return result.concat(Array.isArray(item) ? flatten(item) : item) }, []) } function handleMulitePerson (sPerson) { console.log(44, sPerson.split(',')) if (typeof sPerson == 'string') { let personArr = [] sPerson.split(',').forEach(item => { let obj = { userCode: item.split('/')[0], userName: item.split('/')[1] } personArr.push(obj) }) return personArr } } function uniqueArray (array, key) { // json數(shù)組根據(jù)key去重 var result = [array[0]] for (var i = 1; i < array.length; i++) { var item = array[i] var repeat = false for (var j = 0; j < result.length; j++) { if (item[key] == result[j][key]) { repeat = true break } } if (!repeat) { result.push(item) } } return result } function setSessionStorage (key, val) { if (typeof (val) == 'object') { sessionStorage.setItem(key, JSON.stringify(val)) } else { sessionStorage.setItem(key, val) } } function getSessionStorage (key) { return sessionStorage.getItem(key) } function removeStorage (key) { sessionStorage.removeItem(key) } function urlParams () { // 獲取鏈接參數(shù) var str = location.search.length > 0 ? location.search.substring(1) : '' var items = str.length ? str.split('&') : [] var args = {} var item = null var name = null var value = null for (let i = 0, len = items.length; i < len; i++) { item = items[i].split('=') name = decodeURIComponent(item[0]) value = decodeURIComponent(item[1]) if (name.length) { args[name] = value } }; return args } function urlAfterParams () { var str = window.location.hash.length > 0 ? window.location.hash.substring(window.location.hash.indexOf('?') + 1) : '' var items = str.indexOf('&') > 0 ? str.split('&') : str.split('?') var args = {} var item = null var name = null var value = null for (let i = 0, len = items.length; i < len; i++) { item = items[i].split('=') name = decodeURIComponent(item[0]) value = decodeURIComponent(item[1]) if (name.length) { args[name] = value } }; return args } function parseParams (url) { url = decodeURIComponent(url) var params = {} var idx = url.indexOf('?') if (idx > 0) { var queryStr = url.substring(idx + 1) if (queryStr.length > 0) { var arr = queryStr.split('&') for (let i = 0; i < arr.length; i++) { var pair = arr[i].split('=') if (pair.length == 2 && pair[0].length > 0) { params[pair[0]] = pair[1] } } } } return params } /** 選人下拉框數(shù)據(jù):username(userCode) */ function getSelectUserName (userName, userCode) { return userName + '(' + userCode + ')' } function getSelectLoginUser () { var userInfo = getLoginUserInfo() return getSelectUserName(userInfo.userName, userInfo.userId) } function getUserNameBySelectUserName (userName) { let i = userName.indexOf('(') return userName.substring(0, i) } /** 登錄用戶(hù)信息 userId userName mobileNo @returns {any} */ function getLoginUserInfo () { return JSON.parse(localStorage.getItem('userInfo')) } function getLoginUserCode () { return JSON.parse(localStorage.getItem('userInfo')).userId } export default { getNyr, getYDate, setSessionStorage, urlParams, urlAfterParams, parseParams, debounce, handleMulitePerson, uniqueArray, flatten, getSessionStorage, removeStorage, getSelectUserName, getSelectLoginUser, getLoginUserInfo, getLoginUserCode, getUserNameBySelectUserName }
總結(jié)
以上所述是小編給大家介紹的Vue中util的工具函數(shù)實(shí)例詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
vue中移動(dòng)端調(diào)取本地的復(fù)制的文本方式
這篇文章主要介紹了vue中移動(dòng)端調(diào)取本地的復(fù)制的文本方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07vue-simple-verify實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼功能
登錄頁(yè)面經(jīng)常會(huì)需要滑動(dòng)驗(yàn)證碼的情況,使用vue插件vue-simple-verify就可以輕松實(shí)現(xiàn),下面小編給大家分享vue-simple-verify實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼功能,感興趣的朋友一起看看吧2024-06-06vue實(shí)現(xiàn)多組關(guān)鍵詞對(duì)應(yīng)高亮顯示功能
最近小編遇到這樣的問(wèn)題,多組關(guān)鍵詞,這里實(shí)現(xiàn)了關(guān)鍵詞的背景色與匹配值的字體顏色值相同,下面通過(guò)定義關(guān)鍵詞匹配改變字體顏色,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2019-07-07vue實(shí)現(xiàn)折疊展開(kāi)收縮動(dòng)畫(huà)效果
這篇文章主要介紹了vue實(shí)現(xiàn)折疊展開(kāi)收縮動(dòng)畫(huà),通過(guò)scrollHeight實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2023-11-11vue項(xiàng)目中如何實(shí)現(xiàn)element-ui組件按需引入
這篇文章主要介紹了vue項(xiàng)目中如何實(shí)現(xiàn)element-ui組件按需引入,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05vue3組件化開(kāi)發(fā)常用API知識(shí)點(diǎn)總結(jié)
Vue是目前Web前端最流行的開(kāi)發(fā)框架技術(shù),?下面這篇文章主要給大家介紹了關(guān)于vue3組件化開(kāi)發(fā)常用API的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06