vue2.0全局过滤器引用

vue2.0全局过滤器引用

1、filters.js文件内容
const filters = {
  //过滤日期格式
  formatDate: function (value, fmt) {
    //针对ios日期展示NaN-aN-aN问题,正则替换'-'为'/'
    value = !value ? value: value.toString().replace(/-/g, '/');
    let getDate = !value ? new Date() : new Date(value);
    let o = {
      'M+': getDate.getMonth() + 1,
      'd+': getDate.getDate(),
      'h+': getDate.getHours(),
      'm+': getDate.getMinutes(),
      's+': getDate.getSeconds(),
      'q+': Math.floor((getDate.getMonth() + 3) / 3),
      'S': getDate.getMilliseconds()
    };
    if (/(y+)/.test(fmt)) {
      fmt = fmt.replace(RegExp.$1, (getDate.getFullYear() + '').substr(4 - RegExp.$1.length))
    }
    for (let k in o) {
      if (new RegExp('(' + k + ')').test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
      }
    }
    return fmt;
  },
  //字典转换
  dicValue: function (value, dicTypeOptions) {
    if (dicTypeOptions.find(item => item.cddValue == value) != undefined) {
      return dicTypeOptions.find(item => item.cddValue == value).cddName
    } else {
      return '其他'
    }
  },
  //过滤金额
  money: function (value) {
    if (value && value != null) {
      value = String(value);
      var left = value.split('.')[0], right = value.split('.')[1];
      right = right ? (right.length >= 2 ? '.' + right.substr(0, 2) : '.' + right + '0') : '.00';
      var temp = left.split('').reverse().join('').match(/(\d{1,3})/g);
      return (Number(value) < 0 ? '-' : '') + temp.join(',').split('').reverse().join('') + right;
    } // 注意===在这里的使用,如果传入的value为0,if中会将其判定为boolean类型,故而要另外做===判断
    else if (value === 0) { 
      return '0.00';
    } else {
      return '';
    }
  }
}

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

2、main.js文件中引用

./utils/filters为filters.js文件路径

import filters from './utils/filters'
filters(Vue)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值