Как добавить компонент строки в таблицу в Angular 7? - PullRequest
0 голосов
/ 01 апреля 2019

Я использую последнюю версию angluar.(7.2.0) У меня есть личный компонент tr, такой как:

import { Component, OnInit, Input } from '@angular/core';

@Component({
selector: 'app-table-row',
templateUrl: './table-row.component.html',
styleUrls: ['./table-row.component.scss']
})
export class TableRowComponent implements OnInit {
@Input() character: any;
@Input() columns: string[];

constructor() { }

ngOnInit() {
}

}

Я хочу использовать этот компонент внутри таблицы, например:

<table class="mat-elevation-z8">
<tr>
   <th *ngFor="let c of columns">{{c}}</th>
</tr>
<tr app-table-row class="component-style table-row-component" *ngFor="let ch of characters | async" 
   [character]="ch" 
  [columns]="columns">
</tr>

</table>

получить ошибки типа:

Can't bind to 'character' since it isn't a known property of 'tr'. ("table-row class="component-style table-row-component" *ngFor="let ch of characters | async" 
       [ERROR ->][character]="ch" 
      [columns]="columns">
  </tr>
"): ng:///AppModule/TableComponent.html@7:7

Как правильно добавить компонент в таблицу?

1 Ответ

1 голос
/ 01 апреля 2019

Определить селектор компонента как селектор атрибута в квадратных скобках:

@Component({
  selector: 'tr[app-table-row]',
  ...
})

, чтобы его можно было установить как атрибут элемента tr:

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