Vue 过滤器的使用

  1. Vue官方文档是这样说的:Vue过滤器用于格式化一些常见的文本。
  2. 在实际项目中的使用:
    1. 定义过滤器
      1. 在src定义一个filter.js文件,里面定义过滤器函数,在最后要使用 exprot default 将定义的函数暴露出来javascript

        //将时间戳转化为日期格式
        function formatDate (value, fmt='') {
        let date = new Date(value)
        if (fmt=='') fmt = 'Y-MM-dd hh:mm'
        let o = {
            'Y+':date.getFullYear(),
            'M+': date.getMonth() + 1,
            'd+': date.getDate(),
            'h+': date.getHours(),
            'm+': date.getMinutes(),
            's+': date.getSeconds()
        };
        for (let k in o) {
            if (new RegExp(`(${k})`).test(fmt)) {
                let str = o[k] + '';
                fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
            }
        }
            return fmt;
        };
        
        function padLeftZero (str) {
            return ('00' + str).substr(str.length);
        };
        
        //将数字格式化为容易查看的格式
        function formatNumber(num){
             if (num>= 1000000) {
             return (num/1000000).toFixed(1).replace(/.0$/, '') + 'w';
             }
             if (num>= 1000) {
             return (num/1000).toFixed(1).replace(/.0$/, '') + 'k';
             }
           return num;
        }
        
        //暴露函数
        export default {
          formatDate,
          formatNumber
        }
    2. 注册过滤器
      在main.js中引入刚刚定义的文件,而后在初始化Vue实例以前加上注册过滤器的语句html

      Object.keys(filter).forEach(key=>{
            Vue.filter(key,filter[key])
          })
    3. 使用过滤器
      使用的时候只须要在{{}} 中想要格式化的变量 后面加上 | ,而后跟上本身定义的过滤器函数的名称,好比:fun_test 便可,该函数默认会接受一个参数,及 | 前的那个值,若是还须要往该函数中传入其余参数,能够这样 | fun_test(param1,param2,...)vue

注:本文根据我的经验所写,如需转载请注明出处:http://www.javashuo.com/article/p-hbxywnvr-hu.htmljava

相关文章
相关标签/搜索