filters -- 价格保留两位小数过滤器
首先定义一个公共js 并导出 格式化方法:
export function money(val) { if (val) { val = val.toString().replace(/\$|\,/g,''); } if(isNaN(val)) { val = "0"; } let sign = (val == (val = Math.abs(val))); val = Math.floor(val*100+0.50000000001); let cents = val%100; val = Math.floor(val/100).toString(); if(cents<10) { cents = "0" + cents } for (var i = 0; i < Math.floor((val.length-(1+i))/3); i++) { val = val.substring(0,val.length-(4*i+3)) + val.substring(val.length-(4*i+3)); } return (((sign)?'':'-') + val + '.' + cents); }
其次,在需要用到过滤器的页面 引入该方法
import { money } from '../../../utils/util'
并定义filters 接收该方法
filters:{
getMoney:money
},
在页面上直接 {{参数 | 过滤器定义方法}} 如下:
<el-table-column prop="consumptionAmount" label="使用金额"> <template slot-scope="scope"> <div v-if="scope.row.consumptionAmount!=null">¥{{scope.row.consumptionAmount | getMoney}}</div> <div v-else></div> </template> </el-table-column>
过滤器的使用方式大概就是这样了~~