我想比較兩個由於API調用而不斷變化的變量。Angular 2 DOM綁定數據不準確
想一想股票櫃檯。如果股票增加,我想知道這一點,如果它減少。
在API調用之前,我存儲一個調用實例(對象數組),然後將它與新版本的調用進行比較。這一切都有效,因此我可以讓控制檯告訴我是否有增加或減少。
我將這些信息存儲在數組中,根據結果將布爾值更改爲true或false。
完美,一切都很好,工作。但是,當我使用* ngFor循環將這些精確值綁定到DOM時,我想循環所有對象,它們的值始終爲false(默認值)。他們從來沒有真正改變,即使這些console.log說,他們是。
爲什麼DOM不能正確綁定值?
DOM
<div class="ticker" *ngFor="let coinresult of coinResults; let beforecoinresult of beforeCoinResults; let aftercoinresult of afterCoinResults;">
<div class="wrapper" *ngIf="coinresult.name != step2Selection">
<!--<h1 *ngIf="match === false">Before: {{beforecoinresult.amount}} - After: {{aftercoinresult.amount}}</h1>-->
<div class="pin" (click)="pinTitle(coinresult.amount, coinresult.name)">
<i class="material-icons" *ngIf="pinnedCoinAmount != coinresult.amount">gps_not_fixed</i>
<i class="material-icons selectedCoin" *ngIf="pinnedCoinAmount === coinresult.amount">gps_fixed</i>
</div>
<div class="amount" [ngClass]="{amountpinned: pinnedCoinAmount === coinresult.amount,
amountincrease: beforecoinresult.increase,
amountdecrease: beforecoinresult.decrease}">
{{coinresult.amount}}
</div>
<div class="name" [ngClass]="{ namepinned: pinnedCoinAmount === coinresult.amount,
nameincrease: beforecoinresult.increase,
namedecrease: beforecoinresult.decrease}">
{{coinresult.name}}
</div>
{{beforecoinresult.increase}} {{beforecoinresult.decrease}}
</div>
接口
export interface coinResultsType{
name: string,
amount: number,
increase: boolean,
decrease: boolean
}
即使世界邏輯的一噸我的成分,但我不張貼看到價值,它的工作原理和偉大工程。所以我附上了一個正在登錄的控制檯的圖像:
console.log(beforeCoinResults[0].increase);
console.log(beforeCoinResults[0].decrease);
但是,在CAD報價器中,你可以看到那裏都是假的。現在,他們的信息發生很快,所以你可以說它已經變成了假,但是我確信我正在看,但他們都是假的。