Я использую сетку данных Clarity и хотел бы создать меньшие компоненты, чтобы следовать этой структуре:
Это мой шаблон компонента сетки:
<clr-datagrid>
<app-grid-header></app-grid-header>
<app-grid-item *ngFor="let city of cities$ | async" [city]="city"></app-grid-item>
<clr-dg-footer>{{(cities$ | async).length}} cities</clr-dg-footer>
</clr-datagrid>
Это заголовок моей сетки:
import { Component } from '@angular/core';
@Component({
selector: 'app-grid-header',
template: `
<clr-dg-column>City</clr-dg-column>
<clr-dg-column>Capital</clr-dg-column>
<clr-dg-column>Population</clr-dg-column>
<clr-dg-column>Country</clr-dg-column>
`
})
export class GridHeaderComponent {}
И это мой элемент сетки:
import { Component, Input } from '@angular/core';
import { City } from '../city.model';
@Component({
selector: 'app-grid-item',
template: `
<clr-dg-row>
<clr-dg-cell>{{city.name}}</clr-dg-cell>
<clr-dg-cell>{{city.capital}}</clr-dg-cell>
<clr-dg-cell>{{city.population}}</clr-dg-cell>
<clr-dg-cell>{{city.country.name}}</clr-dg-cell>
</clr-dg-row>
`
})
export class GridItemComponent {
@Input()
city: City;
}
Однако сетка все испортила, если я сделаю это так:
Если я избавлюсь от выделенных тупых компонентов и все встроу, сетка будет выглядеть как положено:
<clr-datagrid>
<clr-dg-column>City</clr-dg-column>
<clr-dg-column>Capital</clr-dg-column>
<clr-dg-column>Population</clr-dg-column>
<clr-dg-column>Country</clr-dg-column>
<clr-dg-row *ngFor="let city of cities$ | async">
<clr-dg-cell>{{city.name}}</clr-dg-cell>
<clr-dg-cell>{{city.capital}}</clr-dg-cell>
<clr-dg-cell>{{city.population}}</clr-dg-cell>
<clr-dg-cell>{{city.country.name}}</clr-dg-cell>
</clr-dg-row>
<clr-dg-footer>{{(cities$ | async).length}} cities</clr-dg-footer>
</clr-datagrid>
Мне не удалось найти что-либо, чтобы решить эту проблему.
Я попытался изменить шаблон app-grid-header
на [app-grid-header]
и использовать его в качестве директивы <div app-grid-header></div>
, но это не решило проблему.
Я также пытался изменить encapsulation
на другие возможные варианты, ни один из них не оказал влияния.
Какое изменение я должен сделать, чтобы сделать эту работу по желанию?