0
点赞
收藏
分享

微信扫一扫

在vue-cli项目中定义全局 filter、method 方法

芷兮离离 2022-06-20 阅读 52

 

 

1、创建 filters.js(methods.js) 文件:


2、filters.js(methos.js) 中定义全局过滤方法:

 


1 export default {
2   /** 时间戳转换 */
3   showTime (time) {
4     let date = null
5     if ((time + '').length === 10) {
6       date = new Date(time * 1000)
7     } else {
8       date = new Date(time)
9     }
10     const Y = date.getFullYear()
11     const M = date.getMonth() + 1
12     const D = date.getDate()
13     const H = date.getHours()
14     const MM = date.getMinutes()
15     const S = date.getSeconds()
16     return `${Y}-${(M > 9 ? M : ('0' + M))}-${(D > 9 ? D : ('0' + D))} ${(H > 9 ? H : ('0' + H))}:${(MM > 9 ? MM : ('0' + MM))}:${(S > 9 ? S : ('0' + S))}`
17 },
18   /** 根据身份证号获取出生日期 */
19   getBirthday (idCard) {
20     let birthday = ''
21     if (idCard) {
22       if (idCard.length === 15) {
23         birthday = `19${idCard.substr(6, 6)}`
24     } else if (idCard.length === 18) {
25       birthday = idCard.substr(6, 8)
26     }
27
28     birthday = birthday.replace(/(.{4})(.{2})/, '$1-$2-')
29     }
30     return birthday
31   }
32 }


 

3、main.js入口文件引用


1 import filters from './filters'
2 import filters from './methods'
3 Object.keys(filters).forEach(k => {
4   Vue.filter(k, filters[k])
5 })
6   Object.keys(methods).forEach(k => {
7    Vue.prototype[k] = methods[k]
8 })


 

4、组建中使用

1 <template>
2   // 过滤
3 <div>{{ 1454664434 | showTime }}</div>
4 </template>

 

5、显示


举报

相关推荐

0 条评论