项目开发将常用过滤器配置成全局过滤器

373 阅读1分钟

首先创建一个过滤器文件(filter.js)里面包含所定义的过滤方法
使用 export 导出方法,例如:

// 格式化金额,支持 2 - 4 位小数
export function formatMoney( num, toFixed2 = true ) {
    if (num === null || num === undefined) return '';
    num = Number( (+num).toFixed( 5 ) );
    let numStr = '' + num;

    // 是否为负数
    let isMinus = false;
    if (/^-/.test( numStr )) {
        isMinus = true;
        numStr = numStr.slice( 1 );
    }

    if (toFixed2) {
        numStr = Number( numStr ).toFixed( 2 );
    } else {
        let decimal = numStr.split( '.' )[ 1 ];
        let decimalLength = decimal ? decimal.length : 0;
        if (decimalLength > 5) {
            numStr = Number( numStr ).toFixed( 5 );
        } else if (decimalLength > 2) {
            numStr = Number( numStr ).toFixed( decimalLength )
        } else {
            numStr = Number( numStr ).toFixed( 2 );
        }
    }

    numStr = (isMinus ? '-' : '') + numStr;
    return numStr;
}

在main.js文件中进行导入

import * as filters from './filters'; 

// 注册全局 filter
Object.keys( filters ).forEach( key => {
   Vue.filter( key, filters[ key ] )
} );

!!!全局组件和指令也是一样的方法