类 在 'host' 属性 指令中动态设置未应用于 angular 中的 parent 模板 8

Classes set dynamically in the 'host' property of directive are not being applied to the parent template in angular 8

我正在 angular 8 应用程序中使用 ng-bootstrap table 按照此处的示例实施排序 https://ng-bootstrap.github.io/#/components/table/examples#sortable 在示例中,一旦我将光标指向 [= table 的 49=] 变为手形指针,应用的 class 在下图中右侧突出显示

单击 header 后,header 值的左侧会出现一个箭头,而负责它的 class 在下图中的右侧突出显示

如果我们检查 table-sortable.ts 文件中的代码,这些样式来自 'host' 属性 指令,如图所示

我在我的 angular 应用程序中使用相同的指令,但样式未应用于 header 元素。排序有效,但是一旦我将光标指向 header,指针光标就不会显示,并且在单击 header 之后,箭头不会显示,尽管 class="asc" 是添加到 header 元素,如下图所示。在上图中右侧突出显示的 classes 不在右侧。

我不明白为什么没有应用这些样式。我还在 parent 组件中将 'ViewEncapsulation' 设置为 'None',但样式仍然不适用。请帮我解决这个问题。

我发现了问题。我在全局 style.scss 文件中添加了所需的 th[sortable].desc:before、th[sortable].asc:before 和其他必要的 CSS 类,现在可以使用了。