vue項(xiàng)目里,利用es6,封裝時(shí)間格式處理方法,簡(jiǎn)單demo
本來今天是學(xué)了axios的請(qǐng)求攔截,通過攔截器在headers里加token,從而使每次請(qǐng)求都能被后臺(tái)進(jìn)行登錄狀態(tài)驗(yàn)證(如果后臺(tái)需要的話)。
在學(xué)的過程中,發(fā)現(xiàn)教程是通過es6的import export 來封裝方法及導(dǎo)出導(dǎo)入使用的。
因此我干脆照貓畫虎地,封裝一個(gè)時(shí)間格式處理的方法,主要是學(xué)習(xí)這個(gè)思路。
(之后我再寫一下封裝axios實(shí)例,思路基本一致。再之后就可以寫登錄、驗(yàn)證的思路?)
先給大家看一下文件結(jié)構(gòu)。
我在src目錄下,建了兩個(gè)文件夾 libs 和 api
顧名思義
libs 用來存放方法的具體代碼
api 則存放 調(diào)用這些方法 的入口(或者說api?)

其中l(wèi)ibs里的 timeHandle.js 及 api里的 getTime.js 就是我這次寫的文件(其他的都雨女無瓜)
先寫timeHandle.js 也就是具體方法。
// 封裝處理時(shí)間格式的方法。 然后導(dǎo)出到api/getTime.js
class TimeHandle{
// 將接收到的參數(shù)(time) 轉(zhuǎn)換成 年-月-日 格式
toymd(time){
return time.getFullYear() + '-' + ((time.getMonth() + 1)<10? '0'+(time.getMonth() + 1):(time.getMonth() + 1)) + '-' + (time.getDate()<10? '0'+time.getDate():time.getDate() )
}
}
export default new TimeHandle // 導(dǎo)出該方法
接下來寫 getTime.js ,也就是將timeHandle導(dǎo)出來的方法再封裝一次,或者說多加一道流程。
// 這里封裝成 時(shí)間格式處理 的入口
// 從libs/timeHandle.js 導(dǎo)入時(shí)間處理方法
import timeHandle from '../libs/timeHandle';
// 導(dǎo)出入口。 在項(xiàng)目中import {getTime} 然后就可以直接 getTime(傳入時(shí)間)進(jìn)行處理了
export const getTime = (time) => {
return timeHandle.toymd(time)
}
最后再在組件里導(dǎo)入、使用(隨便哪個(gè)組件都可以啦,我就不把整個(gè)組件貼上來了)
// 這是組件里面
import {getTime} from '@/api/getTime.js'
export default {
methods:{
test(){
let time = new Date()
let result = getTime(time)
console.log(time) //你會(huì)打印出來 類似 Thu Jul 06 2019 00:00:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)
console.log(result) // 你會(huì)打印出來 2019-06-06
}
}
}
可能你會(huì)有個(gè)疑問,為什么還要多一個(gè)api文件夾呢? 我在libs里寫好timeHandle.js文件,同時(shí)導(dǎo)出。
在需要的組件里導(dǎo)入,不也可以嗎?為什么要多出一個(gè)api及getTime.js,多轉(zhuǎn)一到手呢?
主要是考慮,未來的可能性。
時(shí)間格式是有很多的,2019-06-06是我們現(xiàn)在用到的,以后呢?會(huì)不會(huì)我只想要06-06? 或者我想要2019-06-06 18:30?
那樣就會(huì)產(chǎn)生許多方法,這時(shí)候他們統(tǒng)一導(dǎo)入api的getTime.js里,由getTime.js作為【時(shí)間格式處理方法】的統(tǒng)一入口,會(huì)不會(huì)好一點(diǎn)?
整個(gè)思路其實(shí)就是
1.在組件中的methods里,某個(gè)方法中。 使用api.js導(dǎo)出的getTime方法(并向其傳值)
2.api.js中的getTime方法則調(diào)用timeHandle的toymd方法,并向其傳值
3.最后timeHandle.js文件里的 toymd被調(diào)用后,將接收到的參數(shù),處理成y-m-d格式,然后返回給
如果說,寫的時(shí)候思路是從后往前,那么用的時(shí)候,就是從前往后
代碼很簡(jiǎn)單,就幾行而已,主要是為了體驗(yàn)整個(gè)流程
各位菜雞,彼此彼此。
