Я использую primeng для компонента datatable, но вопрос в стилях в angular. У меня есть следующий шаблон:
<p-dataTable [value]="values">
<p-column *ngFor="let column of columns;"
[header]="column.name"
[field]="column.field"
styleClass="{{getColumnCssClasses(column)}}"
// [styleClass]="getColumnCssClasses(column)" tried this way also
>
...
</p-column>
</p-dataTable>
Итак, у p-column
есть styleClass
директива, в которую я могу добавить свой собственный класс css.
getColumnCssClasses(column) {
if(column.isToggle) {
return 'toggle-column';
}
}
CSS:
.togggle-column {
width: 50px;
}
В результате я вижу, что мой класс применяется правильно, но не стили. Я вижу стили в теге head
:
<style>.toggle-column[_ngcontent-nyw-32] {
width: 55px;
}</style>
Я понимаю, что проблема в том, что Angular добавляет [_ngcontent-nyw-32]
в мой класс css, но в html у меня есть только toggle-coumn
. Я знаю, что могу исправить это с помощью encapsulation: ViewEncapsulation.None
, но не хочу. Почему привязка работает некорректно?