vue中filter过滤器中的this指向
2021-05-24 本文已影响0人
NemoExpress
本来想在在filter过滤器中传递this,来获取全局当中的国际化方法,但是提示undefined,经查阅过滤器的文档发现:vue中的过滤器更偏向于对文本数据的转化,不能够一揽this上下文,所以如果需要使用到上下文的this,应该使用computed计算属性或者method方法
所以解决方案采用 计算属性 computed 来进行参数传递,同时国际化方法也需要通过计算属性来进行语言切换的侦测,这里需要给计算属性传递参数,代码如下
computed: {
statusFilter2() {
return function(val) {
return this.$t(`status.${val}`)
}
}
}