Vue的过滤器你真了解吗
短信预约 -IT技能 免费直播动态提醒
1. 过滤器
案例中使用到时间格式相关API
1.1 对过滤器的理解
定义:对要显示的数据进行特定格式化后在显示
适用:做一些简单的逻辑处理
特点:滤器可以做一些简单操作,并且没有改变原来的数据,产生新的对应的数据
1. 语法 : data | 过滤器
不传参数默认将data值传入,并且自动调用函数,函数可接收到value
传参数并不会覆盖掉第一个参数,第一个参数默认是value,第二个参数才是 传入的参数
2. 滤器可以以串联的形式
data | 过滤器 | 过滤器
执行的顺序是将data当做参数传入到第一个过滤器中,第一个过滤器处理完,返回的
值作为第二个过滤器的参数
1.2 全局过滤器:
Vue.filter(filterName, function(value){
return value.slice(0, 4);
})
new Vue({
.
..
...
})
1.3 局部过滤器:
new Vue{
filters:{
filterName(value){
return value.slice(0, 4);
}
}
}
在html中使用过滤器
<div>{{ handledata | filtername }}</div>
<div>{{ handledata | filtername(参数) }}</div>
1.4 过滤器的案例
<div id="root">
<h3>methods写的:{{time()}}</h3>
<h3>computed写的:{{time1}}</h3>
<h3>过滤器的写的:{{number | ftime("YYYY-MM-DD HH:mm:ss") | qjtime}}</h3>
</div>
<div id="root2">
<hr>
<h3>{{name | qjtime}}</h3>
</div>
<script>
Vue.config.productionTip = false
// 全局过滤器
Vue.filter('qjtime', function (val) {
return val.slice(0, 4)
})
let vm = new Vue({
el: '#root',
data: {
number: Date.now()
},
methods: {
time() {
return dayjs(this.number).format("YYYY年MM月DD日 HH:mm:ss")
}
},
computed:
{
time1: {
get() {
return dayjs(this.number).format("YYYY年MM月DD日 HH:mm:ss")
}
}
},
// 局部过滤器
filters:
{
// 这是ES的语法表示如果有传参数就使用传进来的参数,如果没有传参就使用
ftime(val, str = "YYYY年MM月DD日 HH:mm:ss") {
return dayjs(val).format(str)
},
}
})
new Vue({
el: "#root2",
data: {
number: Date.now(),
name: '我是第二个Vue'
}
})
</script>
总结
以上就是今天要讲的内容,本文介绍了对过滤器的一些相关知识,希望对大家有所帮助!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341