过滤器顾名思义就是需要将后端传过来的数据 “过滤”一哈显示在网页上
场景一:后端传的时间:2019-11-19T04:32:46Z
前端显示在页面上肯定要处理(过滤)
filters: {
format(val) {
return moment(val).format("YYYY-MM-DD HH:SS");
}
},
methods:{ },
在页面中调用 format
<div>{{this.detailList.update_time|format}}</div>
说明:this.detailList.update_time是参数。
总结:filters里面的函数会调用两次,一次是在mounted之前,传值undefined,页面显示当前时间。另一次是在mounted之后,传值2019-11-19T04:32:46Z,显示处理过的时间。
所以在页面上会看到时间一下子就渲染了,比其他数据快。过了1秒后,数据会更新为需要的时间。
场景二:后端一次传来相互关联两个数组,前端需要自己el-select对应的数据
methods:{
//change所属服务 获得事件类型
serviceChange(selected) {
const filter = this.$options.filters["serviceChange"];
const data = filter(selected);
},
},
filters:{
serviceChange(selected){
... ...
},
},
总结:除了在模板中使用filters,在methods中也可以使用filters中的过滤器,