平台除了提供各种组件、接口外,更重要的是规定解决方式,就是什么场景用什么解决方案。解决同一个问题有很多种方案,平台开发方会综合各种解决方案的优缺点然后强制选择一种模式。选择同一种模式的好处就是容易维护,因为大家都是同一个思路。
在业务实现中,会有如下场景,以绩效考核结果为例:要求不同的结果显示不同的效果(字体颜色、背景等等),对于这种场景,平台最终选择的方案如下:
核心原理,通过动态class。下面的代码进行了简写和改造,突出了核心内容:
<div :class="item.result">{{ item.result }}</div>
<style scoped lang="scss">
.优秀{
font-size: 24px;
text-align: center;
line-height: 80px;
color: #f31e1e;
}
.良好 {
font-size: 24px;
text-align: center;
line-height: 80px;
color: #f07418;
}
.称职{
font-size: 24px;
text-align: center;
color: #37e32a;
line-height: 80px;
}
.基本称职{
font-size: 24px;
text-align: center;
color: #0400ff;
line-height: 80px;
}
.不称职{
font-size: 24px;
text-align: center;
color: #aa00ff;
line-height: 80px;
}
</style>