我尝试构建一个ngFor循环,并希望在没有属性的情况下向第一个元素添加一个类。
这是我到目前为止所得到的:
<div *ngFor="let workout of myProgramm.trainingSchedule[myProgramm.currentWeek]; let i = index;"
(click)="goToWorkoutDetailPage(i)"
class="my-workout-item {{workout.workout_done ? 'is-done': ''}}">
.....
</div>
在这个例子中,我想将一个类添加到列表的第一个元素中,该元素没有属性&#34; workout_done&#34;。
这可能吗?
非常感谢:)。
答案 0 :(得分:1)
单靠*ngFor
您无法做到这一点。无法在*ngFor
中引用其他项目。
最好找到没有workout_done
的第一个元素,将其分配给类中的属性firstUndoneWorkout
,然后使用
<div *ngFor="let workout of myProgramm.trainingSchedule[myProgramm.currentWeek]; let i = index;"
(click)="goToWorkoutDetailPage(i)"
class="my-workout-item" [class.workout_done]="workout == firstUndoneWorkout">
.....
</div>
答案 1 :(得分:0)
你很亲密,正确的做法是:
[class.is-done]="workout.workout_done"
如果你想用没有exercise_done的那个做,那就检查一下。
以下是模板语法文档:https://angular.io/docs/ts/latest/guide/template-syntax.html#!#ngClass