需要循环绑定key值
import * as filters from './filters'/* Register global filters */Object.keys(filters).forEach(key => { Vue.filter(key, filters[key])})
1. 小数、整数转千分位(通用)
/** * 小数、整数转千分位(通用) * @param {number} num 小数、整数 * @returns {string} 格式化千分位后的数字 例: 22,111 */export function formatTh(num) { if (!_.isFinite(parseFloat(num))) return '-' if (num.toString().indexOf('.') !== -1) { // 小数 return num.toString().replace(/(\d)(?=(\d{3})+\.)/g, '$1,') } else { // 整数 return num.toString().replace(/(\d)(?=(\d{3})+$)/g, $1 => { return $1 + ',' }) }}
2. html转义、代码块替换
/** * html转义 * @param {html} String html代码 * @returns {string} html */export function htmlEncode(html) { let temp = document.createElement('div') temp.textContent !== undefined ? (temp.textContent = html) : (temp.innerText = html) const output = temp.innerHTML temp = null return output}
3. 时间显示转换
import moment from 'dayjs'export function formatDate(date) { // 超过7天,显示日期 if (moment(date).isBefore(moment().subtract(7, 'days'))) { return moment(date).format('YYYY-MM0DD') } else { // 1小时前,xx小时前,x天前 return moment(date).local('zh-cn').form(moment()) }}