vue中的filter
文章类型:Vue
发布者:admin
发布时间:2023-04-11
一:定义
过滤器实质不改变原始数据,只是对数据进行加工处理后返回过滤后的数据再进行调用处理,我们也可以理解其为一个纯函数,
二:方案
1:局部过滤器,主要在组件内部使用
{{ message | capitalize }}
{{ message | filterA | filterB }}
filters: {
capitalize: function (value) {
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
}
}
2:全局过滤器,注册挂载在vue上,全局可用
<p>{{ msg | msgFormat('疯狂','--')}}</p>
<script>
// 定义一个 Vue 全局的过滤器,名字叫做 msgFormat
Vue.filter('msgFormat', function(msg, arg, arg2) {
// 字符串的 replace 方法,第一个参数,除了可写一个 字符串之外,还可以定义一个正则
return msg.replace(/单纯/g, arg+arg2)
})
</script>
三:应用场景
1:单位转换、数字打点、文本格式化、时间格式化
四:总结
1:vue3中弃用
2:局部过滤器优先于全局过滤器被调用,或者说被覆盖
3:一个表达式可以使用多个过滤器。过滤器之间需要用管道符“|”隔开。其执行顺序从左往右