关于vue.js:vue全局filter

10次阅读

共计 759 个字符,预计需要花费 2 分钟才能阅读完成。

export function timestampFormatFilter(time, format) {if (!time) {return '无'}
  format = format || 'yyyy-MM-dd HH:mm:ss'
  const date = new Date(time)
  const map = {'M+': date.getMonth() + 1,
    'd+': date.getDate(),
    'h+': date.getHours() % 12 === 0 ? 12 : date.getHours() % 12,
    'H+': date.getHours(),
    'm+': date.getMinutes(),
    's+': date.getSeconds()}
  if (/(y+)/.test(format)) {format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
  }
  for (var key in map) {if (new RegExp(`(${key})`).test(format)) {format = format.replace(RegExp.$1, RegExp.$1.length === 1 ? map[key] : numHelper(map[key]))
    }
  }
  return format
}

function numHelper(num) {if (num < 10) {return '0' + num} else {return num + ''}
}

在 main.js 中设置

import * as filters from './filters' // global filters

Object.keys(filters).forEach(key => {Vue.filter(key, filters[key])
})

dom 中就能够全局应用了

正文完
 0