vue——过滤器
vue允许使用自定义过滤器,可被用于一些常见的文本格式化。过滤器可以在两个地方使用:双花括号插值和v-bind表达式。过滤器被添加到JS表达式的尾部,由‘管道’符号指示:
//在双花括号中使用
{{meaasge | capitalize}}
//在v-bind中使用
<div v-bind:id="reawId | formatId"></div>
可以在一个组件的选项中定义本地的过滤器,也可以在创建Vue实例之前全局定义过滤器:
//组件选项中定义
filters:{
capitalize:function(value){
if(!value) return ''
value = value.toString()
return value.chartAt(0).toUpperCase()+value.slice(1)
}
}
//全局定义过滤器
Vue.filter('capitalize',function(value){
if(!value) return ''
value = value.toString()
return value.chartAt(0).toUpperCase()+value.slice(1)
})
new Vue({
//....
})
当全局过滤器和局部过滤器重名时,会采用局部过滤器。
过滤器函数总接受表达式的值作为第一个参数,过滤器也可以串联。
{{ message | filterA | filterB }} //串联
vue过滤器也可以在生命周期中,比如在methods的方法中使用:
this.$options.filters ['filterOne'] ('LiLi') // []里面是过滤器名 ,()里面是 参数