CSS classes not picked up during Angular 5 compilation
我在我的angular 5项目中使用了ag-grid。我正在尝试将CS??S类添加到单元格中。看了有关ag-grid单元格样式的大量文档后,我尝试使用cellClass和cellClassRules。
样式在scss文件中定义,例如:
1 | .readonly-cell{ background-color: #cccccc; } |
scss文件随后包含在组件中:
1 2 3 4 5 | @Component({ selector: 'app-volume', templateUrl: './volume.component.html', styleUrls: ['./volume.component.scss'] }) |
然后将类应用于列:
1 | {headerName:'Power', field:'power', width:150, cellClass:'readonly-cell'} |
网格本身运行正常。问题是
这使我认为在编译过程中未拾取类。我认为这不是ag-grid的问题,而是样式类的获取方式。
有什么方法可以解决为什么类和定义未包含在编译中的问题?
之所以会出现这种现象,是因为您要通过CSS规则定位的元素是在Angular组件之外生成的,并且Angular添加了特殊属性,因此组件CSS仅适用于该组件(而不适用于其子组件,即添加的任何DOM节点)在Angular外等)。您应该使用Angular并在与样式完全相同的组件中构建样式所需的所有HTML,或者禁用该功能。您可以使用
禁用它
1 2 3 4 5 6 | @Component({ selector: 'app-volume', templateUrl: './volume.component.html', styleUrls: ['./volume.component.scss'], encapsulation: ViewEncapsulation.None }) |
或通过在样式表中使用
https://angular.io/guide/component-styles#deprecated-deep--and-ng-deep