作者:caozhengweile_854 | 来源:互联网 | 2023-08-11 19:35
目录
- vue局部过滤器获取不到this
- vuefilters为什么获取不到this
vue 局部过滤器获取不到this
data里面加个字段赋值this。
{{ scope.row.sendLab | formataLab(that) }}
这里用的element table , 在过滤器里传入参数,that。
就可以获取到data里的变量了。
vue filters为什么获取不到this
问题
{{auditResult | auditResultNameFilter}}
data() {
return {
auditResultOptions: [...]
}
},
filters: {
auditResultNameFilter(status) {
let [obj] = this.auditResultOptions.filter(item => item.value === status);
return obj.name;
}
},
上面会出现报错
原因
关于这个问题尤大有讲
【this undefined in filters #5998】https://github.com/vuejs/vue/issues/5998
解决方法
我们可以用下面这种写法、或者用计算属性跟方法都行,比如下面这种
{{auditResult | auditResultNameFilter(auditResultOptions)}}
filters: {
auditResultNameFilter(status, auditResultOptions) {
let [obj] = auditResultOptions.filter(item => item.value === status);
return obj.name;
}
},
目录
- vue局部过滤器获取不到this
- vuefilters为什么获取不到this
vue 局部过滤器获取不到this
data里面加个字段赋值this。
{{ scope.row.sendLab | formataLab(that) }}
这里用的element table , 在过滤器里传入参数,that。
就可以获取到data里的变量了。
vue filters为什么获取不到this
问题
{{auditResult | auditResultNameFilter}}
data() {
return {
auditResultOptions: [...]
}
},
filters: {
auditResultNameFilter(status) {
let [obj] = this.auditResultOptions.filter(item => item.value === status);
return obj.name;
}
},
上面会出现报错
原因
关于这个问题尤大有讲
【this undefined in filters #5998】https://github.com/vuejs/vue/issues/5998
解决方法
我们可以用下面这种写法、或者用计算属性跟方法都行,比如下面这种
{{auditResult | auditResultNameFilter(auditResultOptions)}}
filters: {
auditResultNameFilter(status, auditResultOptions) {
let [obj] = auditResultOptions.filter(item => item.value === status);
return obj.name;
}
},