目录Vue局部过滤器获取不到thisvuefilters为什么获取不到this问题原因解决方法vue 局部过滤器获取不到this data里面加个字段赋值this。 <el-
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里的变量了。
<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;
}
},
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: 解决vue局部过滤器获取不到this的问题
本文链接: https://www.lsjlt.com/news/163514.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-12
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0