vue中使用过滤器filters的this为undefined的问题
作者:HonGL54
这篇文章主要介绍了vue中使用过滤器filters的this为undefined的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
使用过滤器filters的this为undefined
vue中的过滤器更偏向于对文本数据的转化,而不能依赖this上下文,如果需要使用到上下文this我们应该使用computed计算属性的或者一个method方法
vue filter过滤器的用法
{undefined{ args | filterFun }} |是管道符 用法如下
{{ time | formatDate }}
过滤器中
filters: { formatDate: value => { let date = new Date(value) let y = date.getFullYear() let MM = date.getMonth() + 1 MM = MM < 10 ? "0" + MM : MM let d = date.getDate() d = d < 10 ? "0" + d : d let h = date.getHours() h = h < 10 ? "0" + h : h let m = date.getMinutes() m = m < 10 ? "0" + m : m let s = date.getSeconds() s = s < 10 ? "0" + s : s return y + "-" + MM + "-" + d + " " + h + ":" + m + ":" + s } }
time 相当于想要过滤的值 传递给formatDate的参数
也可以多参数 {undefined{ time | formatDate(“嘿哈”) }}
这时过滤器中
//time 传递给 value "嘿哈" 传递给 arg1 formatDate: (value,arg1) => { ...... }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。