Angular 在ngFor中声明变量

Angular 在ngFor中声明变量,angular,Angular,在我的angular2项目中,我需要呈现一个矩阵。 这是我当前的代码: <tr *ngFor="let worker of workers"> <td class="{{worker.fired ? 'fired-worker':''}}">{{worker.lastName}}<br>{{worker.firstName}}</td> <td *ngFor="let course of courses;" class="sk

在我的angular2项目中,我需要呈现一个矩阵。 这是我当前的代码:

<tr *ngFor="let worker of workers">
    <td class="{{worker.fired ? 'fired-worker':''}}">{{worker.lastName}}<br>{{worker.firstName}}</td>
    <td *ngFor="let course of courses;" class="sk-table-sub-header">

        <div *ngIf="course.isGeneric">
            <div class="col-xs-6" sc-dc [sc-dc-date]="matrix[worker.id][course.id].expiration">
                <date-picker (onDateChanged)="onDateChanged($event, worker, course, 'genericStartDate')" [date]="matrix[worker.id][course.id].genericStartDate></date-picker>
            </div>
            <div class="col-xs-6 training-table-rounded-cell" sc-dc [sc-dc-date]="matrix[worker.id][course.id].expiration">
                <date-picker (onDateChanged)="onDateChanged($event, worker, course, 'expiration')" [date]="matrix[worker.id][course.id].expiration" ></date-picker>
            </div>                    
        </div>
        ...
但我得到一个解析错误:

 Parser Error: Unexpected token [, expected identifier, keyword, or string at column 44 in [ngFor let course of courses; let i = matrix[worker.id][course.id]] in TrainingPlanComponent@44:20 ("r.fired ? 'fired-worker':''}}">{{worker.lastName}}<br>{{worker.firstName}}</td>
解析器错误:中的[ngFor let course of courses;let i=matrix[worker.id][course.id]]第44列出现意外标记[、预期标识符、关键字或字符串TrainingPlanComponent@44:20(“r.fired?fired worker':'}}}>{{worker.lastName}}
{{worker.firstName}}
有没有办法达到我的目的


非常感谢

您当前无法为模板变量指定任意值

  • 模板变量可以引用添加它们的元素或组件
  • exportAs
    引用可以分配给模板变量,如
    #xxx=“ngForm”
  • 可以分配由指令创建的局部变量,如
    index
    by
    ngFor
支持您的用例也有一个开放的问题,但不清楚是否以及何时支持

作为一个解决方案,您可以考虑将模板的一部分封装到它自己的组件中,并将值传递给<代码> @输入()/<代码> S/P>

 Parser Error: Unexpected token [, expected identifier, keyword, or string at column 44 in [ngFor let course of courses; let i = matrix[worker.id][course.id]] in TrainingPlanComponent@44:20 ("r.fired ? 'fired-worker':''}}">{{worker.lastName}}<br>{{worker.firstName}}</td>