vue里filters为什么获取不到this?
问题<div>{{auditResult | auditResultNameFilter}}</div>data() {return {auditResultOptions: [...]}},filters: {auditResultNameFilter(status) {let [obj] = this.auditResultOptions.filter(item =&g
·
问题
<div>{{auditResult | auditResultNameFilter}}</div>
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
解决方法
我们可以用下面这种写法、或者用计算属性跟方法都行,比如下面这种
<div>{{auditResult | auditResultNameFilter(auditResultOptions)}}</div>
filters: {
auditResultNameFilter(status, auditResultOptions) {
let [obj] = auditResultOptions.filter(item => item.value === status);
return obj.name;
}
},
更多推荐
已为社区贡献24条内容
所有评论(0)