前言
在开发项目的过程中,Vue filter的使用是必不可少的。
Vue filter在项目中的使用技巧
- 为了更方便的使用filter,我们在src目录下创建
filters
文件夹用来存放项目中要使用的filter. - 新建index.js 引入所有的filter.
- Vue.filter()注册所有filter.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32import Vue from 'vue';
import { snakeCase } from 'lodash';
import instanceStatus from './instance-status.filter';
import toUSD from './toUSD.filter';
import upperCase from './upper-case.filter';
import toFix from './to-fix.filter';
import readMore from './read-more.filter';
import dateFormate from './date-formate.filter';
import fourSpace from './four-space.filter';
import noSpace from './no-space.filter';
import moneyFormat from './money-format.filter';
import telFormate from './tel-formate.filter';
import idcardFormate from './idcard-formate.filter';
const filters = {
instanceStatus,
toUSD,
upperCase,
toFix,
readMore,
dateFormate,
fourSpace,
noSpace,
moneyFormat,
telFormate,
idcardFormate
};
Object.keys(filters).forEach(key => {
Vue.filter(snakeCase(key), filters[key]);
});
常用的filter
- 日期格式化
1 | import moment from 'moment'; |
- 金钱格式化
1 | //金钱三位用 ","隔开 |
- 保留小数后几位
1 | export default function toFix(value, limit) { |
- 转化成美元
$
符
1 | export default function toUSD(value) { |
- 去除空格
1 | export default function noSpace(str) { |
- 卡号格式化(每四位空格隔开)
1 | export default function fourSpace(value) { |
例如:1234342324322342 => 1234 3423 2432 2342
- 身份证格式化
1 | //身份证号格式化 前六位 后四位 中间变为星号 ---例如:340888*******5656 |
- 手机号格式化
1 | //手机号格式化 中间四位变成星号 |
- 大写格式化
1 | export default function upper(str) { |
- 阅读更多
1 | export default function readMore(text, len, suffix) { |
例如:
1 | <div class="summary">{{ article.summary | read_more(110, '...') }}</div> |