ОШИБКА Ошибка: не удается найти другой объект поддержки "0,9" - PullRequest
0 голосов
/ 08 мая 2019

Я работаю над приложением Ionic. Мое приложение - получить данные о землетрясении в США. Я использовал трубу, чтобы изменить цвет стиля фона для величины землетрясения.

export class MagsCssPipe implements PipeTransform {

  transform(value: any, args?: any): any {

    let mags = value

    if (value >Math.floor(0.0) && value <= 0.9) {
  return "one"
} else if (value >Math.floor(1) && value <= 1.9) {
  return "one"
} else if (value >Math.floor(2) && value <= 2.9) {
  return "tow"
} else if (value > Math.floor(3) && value <= 3.9) {
  return "there"
} else if (value > Math.floor(4) && value <= 4.9) {
  return "four"
} else if (value > Math.floor(5) && value <= 5.9) {
  return "fife"
} else if (value > Math.floor(6) && value <= 6.9) {
  return "six"
} else if (value > Math.floor(7) && value <= 7.9) {
  return "seven"
} else if (value > Math.floor(8) && value <= 8.9) {
  return "eight"
} else if (value > Math.floor(9) && value <= 9.9) {
  return "ninue"
}

    return mags


  }

} 

но когда я запускаю мое приложение, я получаю

 ERROR Error: Cannot find a differ supporting object '0.9'

HTML

 <span [ngClass]='item.properties.mag | magsCss'>{{item.properties.mag}}</span>&#160;&#160;
        <span> {{item.properties.place}}</span>

консольный журнал

enter image description here

1 Ответ

2 голосов
/ 08 мая 2019

Насколько я понимаю, у вас есть проблема, когда вы получаете точно 0.9, потому что ваши заявления не учитывают ее.

Если вам нужно включить 0.9 в сравнение, вы должны использовать x <= 0.9, что означает меньше или равно.

Если у вас хорошо получается 0 там, где оно 0.99, вы можете использовать следующую стратегию

export class MagsCssPipe implements PipeTransform {

  transform(value: any, args?: any): any {

    let mags = Math.floor(+value)

    switch(mags) {
        case 0:
        case 1:
            return "one"
        case 2:
            return "tow"
        case 3:
            return "there"
        case 4:
            return "four"
        case 5:
            return "fife"
        case 6:
            return "six"
        case 7:
            return "seven"
        case 8:
            return "eight"
        case 9:
            return "ninue"
        default:
            return "";
    }

  }

} 
...