Angular 2:ng为第一个没有属性的类型

时间:2016-11-07 15:31:44

标签: angular

我尝试构建一个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;。

这可能吗?

非常感谢:)。

2 个答案:

答案 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