vue中引入公用过滤器?

Posted bbqq1314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue中引入公用过滤器?相关的知识,希望对你有一定的参考价值。

比如我们封装一个金钱的过滤器:

 

技术图片不废话,直接上代码

 

在main.js平级新建filter文件夹,里面新建index.js和money.js

技术图片

 

index.js

import {
    moneyP
} from ‘./money‘

export default moneyP;

注意这里不要用module.exports导出了,会报错。

// module.exports = {
//     normalTime
// }

money.js里面

function fmoney(s){   
    let n = 2;
    n = n > 0 && n <= 20 ? n : 2;   
    s = parseFloat((s + "").replace(/[^d.-]/g, "")).toFixed(n) + "";   
    var l = s.split(".")[0].split("").reverse(),   
    r = s.split(".")[1];   
    let t = "";   
    for(let i = 0; i < l.length; i ++ )   
    {   
       t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");   
    }   
    return t.split("").reverse().join("") + "." + r;   
 } 
 
export const moneyP = (num) => {
    if(num == 0) {
        let outnum = ‘0.00‘
        return outnum;
    } else {
        if(num != ‘‘) {
            if(num < 0) {
                let outnum = fmoney(-num)
                return ‘-‘ + outnum
            } else {
                let outnum = fmoney(num)
                return outnum
            }
        }
    }
}

在main.js里面引入:

//引入过滤器
import filters from ‘./filter‘
Vue.filter(‘moneyP‘,filters)

//Vue.filter(名字,函数)

使用时候在你的组件中直接用就可以了

 <div>{{numTotal | moneyP}}元</div>

扫码加群,每日更新一篇前端技术文章一起成长。

 

技术图片

 

以上是关于vue中引入公用过滤器?的主要内容,如果未能解决你的问题,请参考以下文章

vue.js 中的mixins 的用法

vue实现部分页面导入底部 vue配置公用头部底部,可控制显示隐藏

vue mixin使用

vue实现简单的过滤器

vue项目布局

vue---组件引入及使用的几种方式