私はdatatableコンポーネントにprimengを使用しますが、質問は角度のスタイルに関するものです。だからAngular2スタイルはViewEncapsulationなしでは適用されません.None
<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
は、私は自分のCSSクラスを追加することができますstyleClass
ディレクティブを持っている:私は、次のテンプレートを持っています。
getColumnCssClasses(column) {
if(column.isToggle) {
return 'toggle-column';
}
}
CSS:
.togggle-column {
width: 50px;
}
結果では、私は私のクラスのスタイルを正しく適用されますが、されていないことを参照してください。 私はhead
タグのスタイルを参照してください。
<style>.toggle-column[_ngcontent-nyw-32] {
width: 55px;
}</style>
私はその問題は私のCSSクラスに[_ngcontent-nyw-32]
を追加する角度ですが、HTMLでは、私は唯一のtoggle-coumn
を持って理解しています。私はencapsulation: ViewEncapsulation.None
を使って修正できることを知っていますが、私はしたくありません。バインディングが正しく機能しない理由
ええ、ネイティブの 'ngClass'を試しましたが、クラスは適用されていますが、スタイルはそうではありません.HTMLでは' "。とにかく、このクラスには '[_ngcontent-XXXX]'は含まれていません。私は試してみよう:後でホストする。答えをありがとう。 – user348173