一、在filter/index 文件中实现全局过滤器函数
如下所示目录
export function pluralize(time, label) {
if (time === 1) {
return time + label;
}
return time + label + 's';
}
/* 数字 格式化 */
export function numberFormatter(num, digits) {
const si = [
{ value: 1e18, symbol: 'E' },
{ value: 1e15, symbol: 'P' },
{ value: 1e12, symbol: 'T' },
{ value: 1e9, symbol: 'G' },
{ value: 1e6, symbol: 'M' },
{ value: 1e3, symbol: 'k' }
];
for (let i = 0; i < si.length; i++) {
if (num >= si[i].value) {
return (
(num / si[i].value + 0.1)
.toFixed(digits)
.replace(/\.0+$|(\.[0-9]*[1-9])0+$/, '$1') + si[i].symbol
);
}
}
return num.toString();
}
二、在main.js 中引入过滤函数
import * as filters from './filters'; // global filters
Object.keys(filters).forEach(key => {
Vue.filter(key, filters[key]);
});
三、使用
<span>{{num | pluralize('minute')}}</span>