使用 if 表达式更改颜色编号
using if expression to change color numbers
我想使用 if expression
更改来自服务器的温度颜色,但我遇到错误
ERROR Error: Cannot find a differ supporting object '30'
at KeyValueDiffers.push.
代码
transform(value: any, args?: any): any {
let temp = value
if (value>0 && value<10){
return "dark-blue";
}else if (value>11 && value<20){
return "mid-blue";
}else if (value>21 && value<30){
return "light-blue";
}else if (value>31 && value<39){
return "aqua";
}else if (value>40 && value<45){
return "yellow";
}else if (value>46 && value<49){
return "light-orange";
}else if (value>50 && value<70){
return "red";
}
return temp
}
有什么解决办法吗?
您收到此错误是因为如果您将 30 作为管道的输入并且它 returns 30,这不是有效的 class 名称。
确保 return 空 class 或默认颜色(如果没有匹配项),在您的情况下,您可能想将 <
更改为 <=
以处理30.
此外,如果您输入的是数字,请将值参数键入为数字,输出为字符串:
@Pipe({ name: 'temperature' })
export class TemperaturePipe implements PipeTransform {
transform(value: number): string {
if (value > 0 && value <= 10) {
return 'dark-blue';
}else if (value > 11 && value <= 20) {
return 'mid-blue';
}else if (value > 21 && value <= 30) {
return 'light-blue';
}else if (value > 31 && value <= 39) {
return 'aqua';
}else if (value > 40 && value <= 45) {
return 'yellow';
}else if (value > 46 && value <= 49) {
return 'light-orange';
}else if (value > 50 && value <= 70) {
return 'red';
} else {
return '';
}
}
}
尝试用括号括起来:
(item.temperature | tempture) or "{{ item.temperature | tempture }}"
同时更改 if 和 else 的逻辑以涵盖所有值。
我想使用 if expression
更改来自服务器的温度颜色,但我遇到错误
ERROR Error: Cannot find a differ supporting object '30'
at KeyValueDiffers.push.
代码
transform(value: any, args?: any): any {
let temp = value
if (value>0 && value<10){
return "dark-blue";
}else if (value>11 && value<20){
return "mid-blue";
}else if (value>21 && value<30){
return "light-blue";
}else if (value>31 && value<39){
return "aqua";
}else if (value>40 && value<45){
return "yellow";
}else if (value>46 && value<49){
return "light-orange";
}else if (value>50 && value<70){
return "red";
}
return temp
}
有什么解决办法吗?
您收到此错误是因为如果您将 30 作为管道的输入并且它 returns 30,这不是有效的 class 名称。
确保 return 空 class 或默认颜色(如果没有匹配项),在您的情况下,您可能想将 <
更改为 <=
以处理30.
此外,如果您输入的是数字,请将值参数键入为数字,输出为字符串:
@Pipe({ name: 'temperature' })
export class TemperaturePipe implements PipeTransform {
transform(value: number): string {
if (value > 0 && value <= 10) {
return 'dark-blue';
}else if (value > 11 && value <= 20) {
return 'mid-blue';
}else if (value > 21 && value <= 30) {
return 'light-blue';
}else if (value > 31 && value <= 39) {
return 'aqua';
}else if (value > 40 && value <= 45) {
return 'yellow';
}else if (value > 46 && value <= 49) {
return 'light-orange';
}else if (value > 50 && value <= 70) {
return 'red';
} else {
return '';
}
}
}
尝试用括号括起来:
(item.temperature | tempture) or "{{ item.temperature | tempture }}"
同时更改 if 和 else 的逻辑以涵盖所有值。