Сравните текущее значение с предыдущим значением в ионном 3 - PullRequest
0 голосов
/ 07 мая 2018

Я работаю в приложении на фондовом рынке, используя ionic 3. Мне нужно сравнить показатели текущего и предыдущего значения объекта, а также обновить цвета фона. В настоящее время я написал код, как показано ниже, но иногда изменения цвета отражаются, и в большинстве случаев цвета не отражаются.

export class HomePage {
    liverates: any = [];
    oldliverates: any = [];
    ionViewDidLoad() {
        this.liverateservice.setcallback((data)=>{
            this.oldliverates = Object.create(this.liverates);
            let currentliverates: any = [];
            this.commodities.forEach((value, key) => {
                currentliverates.push({ 'com_id': com_id, 'com_name': com_name, 'buying_rate': buying_rate, 'selling_rate': selling_rate, 'delivery': deliverydays, 'is_coin': is_coin, 'comname_type': comname_type, 'comnametype_status': comnametype_status, 'deliverydays': deliverydays });
            });
            this.liverates = currentliverates;
     });
   }
}

А на мой взгляд

<div *ngFor="let liverate of liverates; let i = index">   
    <ion-row>
      <ion-col col-10 class="ratecol div_userwelcome trade_products_name">{{liverate.com_name}}</ion-col>
    </ion-row>
    <ion-row>
      <ion-col col-10  class="ratebox ratecol" [ngClass]="{'ratehigh' : (liverate.selling_rate > oldliverates[i].selling_rate), 'ratelow':(liverate.selling_rate < oldliverates[i].selling_rate), 'ratenormal': (liverate.selling_rate == oldliverates[i].selling_rate)}" (click)="gotoBookingPage(liverate.com_id, '1');">
      <div class="rates">{{liverate.selling_rate}}</div>
      <div class="sell_rtgs">{{liverate.comname_type}}</div>
      </ion-col>
    </ion-row>        
    </div>

Мой css,

 .ratehigh{
        background: #008000;
        color: #FFFFFF;
    }
    .ratelow{
        background: #FF0000;
        color: #FFFFFF;
    }
    .ratenormal{
        background:null;
        color: #000000;
    }

Когда я проверяю в консоли, он показывает другую скорость в liverate и oldliverates значения объекта, если значение обновляется, но не всегда сравнение скорости работает хорошо в моем html-файле. Не могли бы вы помочь мне решить эту проблему.

...