vue中filter过滤器的使用
本文于 395 天之前发表,文中内容可能已经过时。
一、全局filter过滤器的配置及使用
1、在src下面新建filters/index.js
1 2 3 4 5 6 7 8
| const currency = (price) => { if (!price) return '0.00' return `人民币${price.toFixed(2)}` }
export default { currency }
|
这里的函数就相当于把红色方框里的函数抽离出来,单独放在一个文件

2、在main.js中引入和注册全局过滤器
1 2 3 4 5 6 7 8
| import filters from './filter/index' Object.keys(filters).forEach(filterName => { Vue.filter(filterName, filters[filterName]) })
|
3、在不同的vue文件中使用定义的全局过滤器了
1 2
| <div class="proPrice">{{66 | currency}}元</div>
|
最终打印的是 66.00
二、局部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
| <template> <div> <p class="displayOrderStatus"> {{ resultList.orderStatus | statusText }} </p> </div> </template>
<script> export default { data() { this.statusMap = { S2: '办理成功', R2: '已解约', R3: '已退货', F1: '审批失败', S1P: '办理中', S1F: '办理失败', ...['F2', 'F3', 'F4'].reduce((acc, key) => { acc[key] = '已失效' return acc }, {}) } return {} }, filters: { statusText: value => this.statusMap[value] || '' } } </script>
|