过滤器问题的请教?
来源:7-7 讲师管理功能开发

慕神4535282
2021-02-23
老师,新年好,
本节中,过滤器是这样写的,
<div v-for="teacher in teachers.filter(t=>{return t.id===course.teacherId})" class="profile-activity clearfix">
<div>
<img v-show="!teacher.image" class="pull-left" src="/ace/assets/images/avatars/avatar5.png">
<img v-show="teacher.image" class="pull-left" v-bind:src="teacher.image">
<a class="user" href="#"> {{teacher.name}} </a>
<br>
{{teacher.position}}
</div>
</div>
而以前,你指导的过滤器是这样写的,
<td>{{SECTION_CHARGE | optionKV(section.charge)}}</td>
后者使用了 filter.js 中的 optionKV() 方法,而前者没有使用,为什么会有这种区别呢?
是因为显示内容的来源不一样吗?前者中,显示的内容 teacher.image, teacher.position 来源于数据库表中的记录,而要显示与section.charge对应的 “免费”,"收费"来源于enums.js
谢谢老师指导!!!
写回答
1回答
-
本质都是在一个堆数据中,找出目标数据。optionKV是用的vue过滤器,而filter是js原生自带的数据过滤函数。
针对enums.js里的是所有对象的key, value属性是固定的,所以写了个optionKV。
像teacher这种来源于数据库表的,每张表的属性字段名字可能都不一样,不太好写通用方法。
012021-02-23
相似问题