当前位置: 首页 > 知识库问答 >
问题:

如何从angular组件中访问本地css类名

冯阳华
2023-03-14

我需要从angular组件中访问生成的css类名,以便为第三方组件设置样式。

Angular对本地css类名进行一些神奇的转换,以启用作用域。我需要对一个ngx-datatable组件应用一些自定义样式。为此,我需要向它传递自定义类名。由于angular对类名的作用,这些类名不再匹配。

将类名添加到全局作用域或使用::ng-deep都可以工作,但是我不希望破坏封装。

仪表板-Component.ts

@Component({
    selector: 'app-dashboard',
    templateUrl: './dashboard.component.html',
    styleUrls: ['./dashboard.component.scss']
})
export class DashboardComponent {
    getRowClass(row){
        return 'my-class';
    }
}

仪表板-Component.scss

.my-class {
   background: green;
}

仪表板-component.html

<ngx-datatable
   [rowclass]="getRowClass"
></ngx-datatable>

在我看来,我应该能够从组件中访问对css类的一些引用,比如this._styles,它将在运行时携带类的生成名称,所以我可以这样做

getRowClass(row){
    return this._styles['my-class'];
}

共有1个答案

阎令
2023-03-14

我认为您无法将样式传播到ngx-dataTable

您可以在@component中使用encapsulation:viewencapsulation.none,但要确保谨慎使用,因为它会导致一些奇怪的css行为。

接下来,您可以做的是为dashboard.html文件创建一个容器,如下所示:

<div class="dashboard-container">
  <ngx-datatable></ngx-datatable>
</div>

dashboard.scss中,可以引用父容器

.dashboard-container {
  .my-style{}
}
 类似资料:
  • 我正在做一个GUI任务,我遇到了一个我无法解决的问题。我有一个带有多个JPanels的JFrame,其中一个JPanels包含一个带有多个JPanels的CardLayout。由于我们有更多的人在这个项目中工作,我们决定为CardLayout中的每个面板创建一个单独的类(扩展JPanel)。 问题是从JPanel类访问JFrame的组件。 举个例子,我在JFrame中的某个地方有一个JLabel,

  • 我正在使用Dropwizard web服务来访问许多parquet文件,我需要使用“真正的”sql(字符串)而不是spark DDL(我已经尝试过了,但没有满足我的需要)。我在独立模式下使用spark从eclipse启动服务。Spark版本是1.4.1。 问题是spark不能解析普通SQL中的parquet引用,如下所示:(我在./bro/conn.parquet中启动web服务的文件夹中有一个测

  • 问题内容: 这是问题的一个简单示例: myStyle.css 如果要使用脚本,效果很好 解决方案: 1.在文件在线/本地主机时工作 2.在其他浏览器(例如Internet Explorer,Microsoft Edge,Firefox)下工作 3. chrome –allow-file-access-from-files 问题答案: TL; DR:从Chrome 64开始,您需要使用本地开发服务器

  • 问题内容: 在Angular2中,您可以在其中有一个文件夹/ data /和一个json文件,并且可以在localhost:4200 / data / something.json中访问它。 在Angular4中不再可能。 任何想法如何使其起作用? 问题答案: 您可以使用此代码 这是您的本地json文件。 另请参阅angular-cli的changlog路径 https://github.com/

  • 我正在使用一个名为React语义ui日期选择器的React模块,我相信它是基于React日期选择器的。不管怎样,这都是一个普通的问题。我的主类组件和日期选择器功能组件位于同一个文件中。日期选择器呈现并工作正常,但我不知道如何在主类组件中访问日期选择器的实际值。 代码的简化版本可以在下面看到,我只是控制台日志记录了几个变量的值。有人能给我一个建议,告诉我从类组件中访问所选日期选择器值的最佳方式吗?

  • 我以为我对自己正在做的事情有很好的把握,但每当我觉得我对某事有很好的把握时,我被证明是错的:) 当我不在匿名类中时,我可以简单地执行 有人能解释为什么我可以调用方法,但不能在intent参数中使用吗?