Ошибка типа, Angular 5: невозможно прочитать свойство 'length' - PullRequest
0 голосов
/ 08 июня 2018

Тем не менее я получил ниже ошибку: Тип Ошибка Не удается прочитать свойство 'length', подключен к html-строке 9:

Test

</mat-header-cell>
          <mat-cell fxFlex="40%" mat-cell *matCellDef="let row; let element"
  line 9:    [ngStyle]="checkIfTrue(element.name) && {'background-color':'lightgreen'}">
          <mat-checkbox [ngStyle]="checkIfTrue(element.name) && {'background-color':'white'}" (click)="$event.stopPropagation()" (change)="$event ? selection.toggle(row) : null" [checked]="selection.isSelected(row)">
          </mat-checkbox>
          </mat-cell>
  </ng-container> 

И checkIfTrue из компонента:

   checkIfTrue(name?: string) {
    if (name) {
        if (!this.isLoadingArray[this.groupName]) {
            for (const team of this.teams) {
                if (name === team.teamPromotion1 || name === team.teamPromotion2) {
                    return true;
                } else {
                    return false;
                }
            }
        }
    } else {
        return false;
    }

}

Я думаю, все значения были инициализированы.

1 Ответ

0 голосов
/ 08 июня 2018

, поскольку element.name не определен в html, вызывает ошибку и не работает, даже если вы измените его на element? .Name, вы можете сделать что-то вроде этого:

<mat-cell *ngIf="element.name" fxFlex="40%" mat-cell *matCellDef="let row; let element"
[ngStyle]="checkIfTrue(element.name) && {'background-color':'lightgreen'}">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...