インデックスを使用して計算を行うにはどうすればよいですか?条件が真であるときにクラスの危険を適用したいが、* ngForループ内でi-1を計算する必要がある。* ngForでインデックスを減算する
<tr *ngFor="#org of data; #i = index">
<td [ngClass]="{danger: org.price < data.stock[i-1].val }">
</tr>
インデックスを使用して計算を行うにはどうすればよいですか?条件が真であるときにクラスの危険を適用したいが、* ngForループ内でi-1を計算する必要がある。* ngForでインデックスを減算する
<tr *ngFor="#org of data; #i = index">
<td [ngClass]="{danger: org.price < data.stock[i-1].val }">
</tr>
次の例のように、カスタム関数に必要なすべての計算を行うことができます。
@Component({
selector: 'my-app',
template: `<table>
<tr *ngFor="let org of data; let i = index">
<td [ngClass]="{danger: org.price < org.stock[getIndex(i)].val }">
...
})
export class AppComponent implements OnInits {
...
// this is your custom function to set index as you need
getIndex(index){
var result = index - 1;
if (result < 0 || result > 0) result = 0;
return result;
}
}
をhere
注意私の簡単な例を参照してください:
data
propertyオブジェクトの配列またはオブジェクトだけ?それは、各オブジェクトがstock
と呼ばれる追加の配列プロパティを持つオブジェクトの配列でなければならないようです。*ngFor
内の#
組織は廃止されており、代わりにletを使用する必要があります。
問題のコードにはどのような問題がありますか? –
次のdata.stock [i-1] .valでは、未定義のプロパティvalを読み取ることができません。静的な番号を使用するとうまく動作します。 – Konst