过滤器问题的请教?

来源: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回答

甲蛙

2021-02-23

本质都是在一个堆数据中,找出目标数据。optionKV是用的vue过滤器,而filter是js原生自带的数据过滤函数。

针对enums.js里的是所有对象的key, value属性是固定的,所以写了个optionKV。

像teacher这种来源于数据库表的,每张表的属性字段名字可能都不一样,不太好写通用方法。

0
1
慕神4535282
非常感谢!
2021-02-23
共1条回复

Spring Cloud+ Vue前后端分离开发企业级在线视频系统

全网稀缺课程 市场热门项目+主流框架 一课掌握前后端技术

1743 学习 · 1700 问题

查看课程