日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 Vue 正文

解決vue?局部過濾器獲取不到this的問題_vue.js

作者:狗狗狗狗亮 ? 更新時間: 2022-04-06 Vue

vue 局部過濾器獲取不到this

data里面加個字段賦值this。


在這里插入圖片描述

<el-table-column property="sendLab" label="項目流向" width="*">
  <template slot-scope="scope">
    <span>
      {{ scope.row.sendLab | formataLab(that) }}
    </span>
  </template>
</el-table-column>

這里用的element table , 在過濾器里傳入參數,that。


在這里插入圖片描述


就可以獲取到data里的變量了。

vue filters為什么獲取不到this

問題

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

原文鏈接:https://blog.csdn.net/weixin_44046951/article/details/108850642

欄目分類
最近更新