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:一个表达式可以使用多个过滤器。过滤器之间需要用管道符“|”隔开。其执行顺序从左往右

上一篇Vue中的ref