问题

<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;
    }
},
Logo

前往低代码交流专区

更多推荐