过滤器
过滤器分为全局过滤器和局部过滤器
首先回顾局部过滤器
局部过滤器
这里的过滤器,注意的事情是 timeFormate 是个过滤器,也是个函数,但是这里并没有加括号是因为:实现过滤,就直接默认将‘|’符号之前的time作为属性传给了timeFormate,time就是value。
如果是有多个管道符的时候都是前一个作为后一个的参数。
<body>
<div id="root">
<h2>现在时间:{{time}}</h2>
<h2>采用过滤器实现time的表达:{{time | timeFormate }}</h2>
</div>
</body>
<script type="text/javascript">
Vue.config.productionTip = false;
new Vue({
el:'#root',
data:{
time:'1621561377603'
},
filters:{
timeFormate(value){
return dayjs(value).format('yyyy-mm-dd')
}
}
})
</script>
**注意:**这里具有一个问题就是,这里的pattern是直接写死的,也就是我们只能过滤实现展示 ‘yyyy-mm-dd’ 格式的时间。
所以我们可以将pattern作为参数进行传入,
使用的时候是 {{time | timeFormate('yyyy-MM-dd hh:mm:ss S') }}
filters:{
timeFormate(value, pattern='yyyy-mm-dd'){
return dayjs(value).format(pattern)
}
}
也可以拥有多个过滤器,使用多个过滤器的时候,使用多个管道符,前面的是后面的输入。
全局过滤器
刚刚局部的过滤器就只能在一个vue实例中进行使用,因为是写在一个vue实例中的。
我们可以使用全局的过滤器
Vue.filter('formatDate', function(value, pattern = 'yyyy-MM-dd'){
return value.format(pattern)
})
|