过滤器
概念
- vue中的过滤器(filter):数据格式化
- 让数据按照规定的一种格式进行输出
- 例如:将日期格式转化为
年-月-日 小时:分:秒
的过程
全局过滤器 和 局部过滤器
- 通过全局方式创建的过滤器在任何一个Vue实例中都可以使用(一般情况下,为了项目方便管理,都是一个vue实例)
- 注意:使用全局过滤器的时候,应该先创建全局过滤器再创建Vue实例
- 局部创建的过滤器 只能在当前vue实例中使用
注册全局过滤器
//第一个参数:过滤器的名字
//第二个参数:是一个回调函数,只要使用过滤器,这个回调函数就会执行
//返回值为格式化后的数据
Vue.filter('data',res => {
return 'heiheihei'
})
使用过滤器 示例
<h1>时间戳-格式 {{date2 | date}}</h1>
Vue.filter('date',res => {
return `${res.getFullYear()}-${res.getMonth()}-${res.getDate()}
${res.getHours()}:${res.getMinutes()}:${res.getSeconds()}`
})
moment 插件
- 使用:1.安装:
npm i moment
2.引入 3.使用 - 日期 => 指定格式
moment(res).format('YYYY-MM-DD HH-mm-ss')
- 时间戳 => 指定格式
moment(res).format('YYYY-MM-DD HH-mm-ss)
Vue.filter('date',res => {
return moment(res).format('YYYY-MM-DD HH-mm-ss')
})
参数问题
- 示例
<h1>时间戳-格式 {{date2 | date('YYYY-MM-DD HH-mm-ss',888)}}</h1>
Vue.filter('date',(res,format = 'YYYY-MM-DD',arg) => {
console.log(arg)
return moment(res).format(format)
})
局部过滤器
- 在vm配置项中写一个
filters
- 对应的是一个对象
filters:{
date(res,format = 'YYYY-MM-DD',arg){
return moment(res).format(format)
}
}