vue过滤器
过滤器实质不改变原始数据,只是对数据进行加工处理后返回过滤后的数据再进行调用处理,这点要切记
过滤器的定义和使用
定义
全局定义和局部定义两种方式
// 全局注册
Vue.filter('toRMB', function (value) {
return `¥${value}`
})
new Vue({
el: '#app',
data: {
money: 826.26,
},
// 局部注册
filters: {
toFixed: function(money) {
return money.toFixed(1)
},
},
)}
使用
在双花括号中使用管道符(pipeline) |
隔开,或者v-bind
表达式(v2.1.0以上支持)
<h2>过滤器的使用-添加前缀</h2>
<p>{{352.11 | toRMB}}</p>
<p>{{657 | toRMB}}</p>
<p>{{657.22 | toFixed }}</p>
<p>{{money | toFixed }}</p>
还可以链式使用,注意先后的顺序,如下面的先添加¥符号再进行小数位变换将会出错,因此要注意先后顺序
<p>{{ money | toFixed | toRMB }}</p>
过滤器函数的多层参数
过滤器函数是指接收的参数不止value
这一个,还可以添加length
和suffix
参数
<h2>多重参数</h2>
<p>{{text}}</p>
<p>{{text | readMore(20,'...')}}</p>
new Vue({
el: '#app',
data: {
text: 'hello I love u, will u love me ?',
},
filters: {
readMore: function (value,length,suffix) {
console.log(arguments);
return value.substr(0,length) + suffix;
},
}
})
其他一些例子
收集了一些常见的使用场景,多加联系
- 把JS值转换为JSON字符串
- 从数组对象中提取属性
- 根据索引返回元素
- 返回给定队列的最小值
- 打乱元素
- 返回数组的首项值
- 返回数组的尾项值
- 返回数组的拷贝
- 移除数组中的重复项
- 将一段文字放到字符后面
- 重复字符片段n次
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。