我想在我的Angular 模板中执行2个转换。第一个是改变箭头的方向向下,如果它是一个负数,如果它是一个正数,箭头将改变方向向上。我用管道完成了这一点。
第二个转变是:如果数字是负数,它的颜色将是红色,如果它是正数,它的颜色将是绿色。
这是我为箭头创建的管道:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'topBar'
})
export class TopBarPipe implements PipeTransform {
transform(value: number): string {
if(value < 0){
return 'arrow_downward'
}
else if(value > 0){
return 'arrow_upward'
}
return ''
}
}
这是调用管道的HTML:
<mat-icon>{{
qtdEvents.lastMonthMinusCurrentMonthQuantity | topBar
}}</mat-icon>
箭头的问题解决了,但是我不知道如何解决数字是正还是负时改变颜色的问题。我该怎么办?我也要用管子吗?
2条答案
按热度按时间8xiog9wr1#
创建一个管道只是为了改变颜色将是一个矫枉过正。你可以通过以下方式实现同样的效果:
4c8rllxm2#
您可以定义另一个管道以基于值获取颜色:
然后使用
ngStyle
directive更新mat-icon
的颜色