Угловая таблица матов с ошибками - PullRequest
0 голосов
/ 27 сентября 2018

Я совершенно новичок в развитии Angular и пытаюсь отобразить таблицу.Для этого я следую этому уроку, который довольно легко понять: https://codingthesmartway.com/angular-material-part-4-data-table/.

Тем не менее, я продолжаю получать эту ошибку:

enter image description here

Это файлы моего компонента:

Класс элементов для отображения в таблице:

export class Service{
    id: string;
    name: string;
    description: string;
    installedVersion: string;
    state: ServiceState;
    lastestVersion: string;    
}

Компоненты TS:

import { Component, Input, OnInit } from '@angular/core';
import { Observable, of, BehaviorSubject } from 'rxjs';
import { CdkTableModule, DataSource } from '@angular/cdk/table';
import { Service } from '../../models/service';
import { MatTableDataSource } from '@angular/material';


@Component({
  selector: 'app-services-table',
  templateUrl: './services-table.component.html',
  styleUrls: ['./services-table.component.scss']
})
export class ServicesTableComponent implements OnInit {

  @Input() services: Service[];
  dataSource;
  displayedColumns = ['name', 'state', 'currentVersion', 'lastestVersion'];
  constructor() { }

  ngOnInit() {    
    this.dataSource = new ServiceDataSource(this.services);
  }

}

export class ServiceDataSource implements DataSource<any> {

  constructor(private services: Service[]) {    
  }

  connect(): Observable<Service[]> {
    return of(this.services);
  }

  disconnect() {
  }
}

HTML:

<div>
    <mat-table #table [dataSource]="dataSource">
        <ng-container matColumnDef="name">
          <th mat-header-cell *matHeaderCellDef>Service Name</th>
          <td mat-cell *matCellDef="let service">{{service.name}}</td>
        </ng-container>
        <ng-container matColumnDef="state">
          <th mat-header-cell *matHeaderCellDef>Service State</th>
          <td mat-cell *matCellDef="let service">{{service.state}}</td>
        </ng-container>
        <ng-container matColumnDef="currentVersion">
            <th mat-header-cell *matHeaderCellDef>Installed Version</th>
            <td mat-cell *matCellDef="let service">{{service.installedVersion}}</td>
        </ng-container>
          <ng-container matColumnDef="lastestVersion">
              <th mat-header-cell *matHeaderCellDef>Lastest Version</th>
              <td mat-cell *matCellDef="let service">{{service.lastestVersion}}</td>
          </ng-container>
          <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>

          <mat-row *matRowDef="let row; columns: displayedColumns"></mat-row>
      </mat-table>
</div>

Уже почти сутки сталкиваюсь с этой проблемой и не могу ее решить.Любая помощь будет по-настоящему оценена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...